Java-HTTPS-Client-Zertifikatauthentifizierung
Bei der Authentifizierung mit Serverzertifikaten müssen Java-Clients die folgenden Anmeldeinformationen vorlegen:
Client-Keystore
Der Client-Keystore in PKCS#12 Format, enthält Folgendes:
Beispielbefehl zum Generieren des Schlüsselspeichers:
openssl pkcs12 -export -in client.crt -inkey client.key -out client.p12 -name "Whatever"
Client Truststore
Der Client Truststore in JKS Format, enthält die Stamm- oder Zwischen-CA-Zertifikate, die die vertrauenswürdigen Endpunkte bestimmen.
Beispielbefehl zum Generieren des Truststores:
keytool -genkey -dname "cn=CLIENT" -alias truststorekey -keyalg RSA -keystore ./client-truststore.jks -keypass whatever -storepass whatever keytool -import -keystore ./client-truststore.jks -file myca.crt -alias myca
Authentifizierungsprozess
Wenn der Server während des TLS-Handshakes eine Client-Authentifizierung anfordert, stellt er eine Liste vertrauenswürdiger Zertifizierungsstellen bereit. Wenn das Client-Zertifikat von einer dieser Zertifizierungsstellen signiert ist, wird es zur Authentifizierung vorgelegt.
Zusätzliche Überlegungen:
Apache HttpClient verwenden
So verwenden Sie HttpClient für HTTPS mit Client-Authentifizierung:
-Djavax.net.debug=ssl -Djavax.net.ssl.keyStoreType=pkcs12 -Djavax.net.ssl.keyStore=client.p12 -Djavax.net.ssl.keyStorePassword=whatever -Djavax.net.ssl.trustStoreType=jks -Djavax.net.ssl.trustStore=client-truststore.jks -Djavax.net.ssl.trustStorePassword=whatever
Das obige ist der detaillierte Inhalt vonWie konfiguriere ich die Java-HTTPS-Client-Zertifikatauthentifizierung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!