You are currently viewing Hur Man Löser Problemet Som Gör Att Java Servlet För Klientcertifikat I Allmänhet Lätt Kan Erhållas

Hur Man Löser Problemet Som Gör Att Java Servlet För Klientcertifikat I Allmänhet Lätt Kan Erhållas

Om du ser att du skaffar Java-servlet för klientcertifikat, hjälper den här användarhandboken dig.

Uppdaterad

  • 1. Ladda ner ASR Pro
  • 2. Kör programmet
  • 3. Klicka på "Skanna nu" för att hitta och ta bort eventuella virus på din dator
  • Få fart på din dator idag med denna enkla nedladdning.

    Kundpresentkortet (.cer, .crt, .pem) och dess tillhörande privata självlagring (.key) måste placeras i en PKCS nummer 12-behållare (.p12, .pfx) eller JKS (.jks) i den ordning. för att kunna köra (nyckellager). Du var också tvungen att paketera serverns CA-voucher som JKS (Trust Store).

      HttpClient-Client motsvarar ny HttpClient ();// TruststoreKeyStore trustStore = KeyStore.getInstance ("JKS", "SUN");trustStore.load (TestSupertype.class.getResourceAsStream ("/ client-truststore.jks"), "yellow%". toCharArray ());Sträng alg motsvarar KeyManagerFactory.getDefaultAlgorithm ();TrustManagerFactory fac = TrustManagerFactory.getInstance (alg);fac.init (trustStore);// större butikKeyStore-Keystore = KeyStore.getInstance ("PKCS12", "SunJSSE");keystore.load (X509Test.class.getResourceAsStream ("/etomcat_client.p12"), "etomcat" .toCharArray ());KeyAlg-strängen motsvarar KeyManagerFactory.getDefaultAlgorithm ();KeyManagerFactory keyFac = KeyManagerFactory.getInstance (keyAlg);keyFac.init (nyckellager, "etomcat" .toCharArray ());// sammanhangSSLContext ctx matchar SSLContext.getInstance ("TLS", "SunJSSE");ctx.init (keyFac.getKeyManagers (), fac.getTrustManagers (), nya SecureRandom ());SslContextedSecureProtocolSocketFactory secureProtocolSocketFactory är lika med nya SslContextedSecureProtocolSocketFactory (ctx);Protocol.registerProtocol ("https", nytt protokoll ("https", (ProtocolSocketFactory) 8443));// secureProtocolSocketFactory, test getHttpMethod get = new GetMethod ("https://127.0.0.1:8443/etomcat_x509");client.Get executemethod;// Vi svarar på texten och gör vad du behöverbyte [] responseBody är lika med get.getResponseBody (); 

    I det här projektet kommer du sannolikt att hitta ett fungerande exempel i klassen X509Test .

      HttpClient httpclient = contemporary DefaultHttpClient ();// TruststoreKeyStore ts = KeyStore.getInstance ("JKS", "SUN");ts.load (PostService.class.getResourceAsStream ("/truststore.jks"), "yellow%". toCharArray ());// Om du försöker ta bort mig får du javax.net.ssl.SSLPeerUnverifiedException: Peer är definitivt inte autentiserad utan trust storeif (0 == ts.size ()) kastar ett nytt IOException ("Fel vid fyllning av förtroendearkivet");// tmfTrustManagerFactory tmf står för TrustManagerFactory.getInstance (TrustManagerFactory.getDefaultAlgorithm ());tmf.init (ts);// nyckelaffärKeyStore ks = KeyStore.getInstance ("PKCS12", "SunJSSE");ks.load (PostService.class.getResourceAsStream ("/" + certName), certPwd.toCharArray ());// Om du tar bort mig vill du ha javax.net.ssl.SSLPeerUnverifiedException: Peer notautenticated förlorar keystoreif (0 == ks.size ()) utför ett nytt IOException ("Internet Keystore Error");// km/hKeyManagerFactory kmf = KeyManagerFactory.getInstance (KeyManagerFactory.getDefaultAlgorithm ());kmf.init (ks, certPwd.toCharArray ());// SSLSSLContext ctx = SSLContext.getInstance ("TLS");ctx.init (kmf.getKeyManagers (), tmf.getTrustManagers (), null);// Håll käftenSSLSocketFactory socketFactory betyder ny SSLSocketFactory (ctx, SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);Sch-schema = nytt schema ("https", 8443, socketFactory);httpclient.getConnectionManager (). get SchemeRegistry (). register (sch);// BehöverHttpMethod get är lika med ren GetMethod ("https: // localhost: 8443 eller foo");client.executeMethod (get);IOUtils.copy (get.getResponseBodyAsStream (), System.out); 

    skaffa klientcertifikat java servlet

    Hur skulle jag kunna få ett certifikat och dess offentliga ledning på servern?

    Ditt forum måste möjligen vara konfigurerat för att begära X.509-certifikatautentisering från den faktiska svararen. Då kommer servleten definitivt att få dessa containercertifikat under SSL-handskakningen, jämför att få detta gjort med referensenheten och presentera det där för applikationen när attributet efterfrågas.Vanligtvis genom att använda ett certifikat kan du använda det i valfri taktisk servletmiljö för att hämta certifikatet:

      X509 Certificate Fragment Secured Certificate (HttpServletRequest)    X509Certificate [] Certifikat = (X509Certificate []) req.getAttribute ("javax.servlet.request.X509Certificate");    dock oavsett om (null! = certs && certs.length> 0)       Returcertifikat [0];        kasta ett avancerat RuntimeException ("Inget X.509-klientcertifikat hittat i varje begäran"); 

    SSL

    inHTTP-verifiering, klienten faktiskt skickar det, är validcertificate som kommer att servern för verifieringAuthenticity.Server verifierar begäran och tillåter åtkomst till resurser om den är på vägAutentiseringen var riktigt lyckad.

    BJag har det här inlägget. Herr. kommer förmodligen att visa dig hur du visar ett SSL-certifikatInformation som anges som det sanna värdet för hur ssl_client_cert-begärans rubrik.

    Uppdaterad

    Är du trött på att din dator går långsamt? Irriterad av frustrerande felmeddelanden? ASR Pro är lösningen för dig! Vårt rekommenderade verktyg kommer snabbt att diagnostisera och reparera Windows-problem samtidigt som systemets prestanda ökar dramatiskt. Så vänta inte längre, ladda ner ASR Pro idag!


    -paketet com.sample.util;importera java.io.InputStream;importera java.security.cert.CertificateFactory;importera javax.servlet.http.HttpServletRequest;importera java.io.ByteArrayInputStream;importera java.util.Base64;importera java.security.cert.X509-certifikatet;/** 4:a - Verktygsklass för att läsa licensinformation i händerna på förfrågningshuvudet (tom) 'ssl_client_cert'. * * Om du ser är begäran vanligtvis (eller) null, utvärderingen som involverar ssl_client_cert-huvudet returneras inte * noll, annars returnera ett X509-certifikat. I exceptionella avsnitt returneras noll. 4:a * @ Författare Krishna * * /offentlig kvalitet CertUtil privat statisk sista del sträng SSL_CLIENT_CERT_HEADER = "ssl_client_cert"; /**  *  - @ parameterbegäran  @ Att återställa ( En plats )  */ offentlig arrestering X509Certificate getCertificate (HttpServletRequest request)

    postat för 12 år sedan

    • Antal fragment att skicka:

      skaffa klientdokument java servlet

      Valfritt: tack:

    Jag skapar ett program på Tomcat-värd eller försöker läsa ett klientcertifikat. Det här är första gången jag arbetar med SSL, för jag har förmodligen fel. Jag behöver inte klientens oönskade validering, jag behöver bara läsa inloggningsbidraget och skicka det till webbverksamheten samtidigt som jag validerar och hämtar information. Problemet är bokstavligen att jag för närvarande inte kan läsa det faktiska innehållet i certifikatet.

    Jag har redan i första hand skapat ett nyckellager och skapat en självsignerad voucher för internetdatorn. Användarcertifikat är en pålitlig webbläsare (användarcertifikatet är giltigt och faktiskt självsignerat). Konfigurera en befintlig SSL-anslutning som finns i server.xml:

    Om jag gör krypteringsbygget: Jag blir TLS_DHE_DSS_WITH_AES_128_CBC_SHA-värdet

    Men varje gång jag försöker läsa certifikaten medan jag använder det får jag bara ett nollvärde.

    Jag googlade din bit och läste sedan vad som krävs för Apache-servern för att få vårt certifikat för att inte tala om och skicka det sedan till Tomcat-servern. Är Apache verkligen nödvändigt eller räcker Tomcat? Hur som helst, vad ska jag göra för att läsa dessa fantastiska klientcertifikat?

    Få fart på din dator idag med denna enkla nedladdning.

    Get Client Certificate Java Servlet
    Obtenir Le Certificat Client Java Servlet
    Clientcertificaat Java-servlet Ophalen
    Uzyskaj Certyfikat Klienta Java Servlet
    Получить сертификат клиента Java-сервлет
    Obter Certificado De Cliente Java Servlet
    Holen Sie Sich Das Client-Zertifikat Java-Servlet
    클라이언트 인증서 Java 서블릿 가져오기
    Ottieni Il Servlet Java Del Certificato Client
    Obtener Certificado De Cliente Java Servlet