2016-04-21 11 views
2

Entschuldigung für mein mangelndes Verständnis der Zertifikate im Allgemeinen. Ich habe eine .p12-Datei (mit einem nicht abgelaufenen Zertifikat) und ein gültiges Passwort ein, damit ich den Inhalt mit list kann:Wie man einen * .P12 Keystore (mit einem Eintrag) hinzufügt?

keytool -list -keystore file.p12 -storepass password -storetype PKCS12 -v 

In meinem Java-Code mir eine HTTPS-Post bin versucht, aber halten Sie diesen Fehler:

javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No name matching [host.path.com] found 

Derselbe Beitrag funktioniert gegen eine meiner anderen Umgebungen, die keine Authentifizierung erfordert und der Link ist HTTP (vs. HTTPS). Wie kann ich diese .p12 Datei arbeiten lassen, damit sie im Handshake erkannt wird?

Antwort

1

Sie können den folgenden Befehl

keytool -v -importkeystore -srckeystore alice.p12 -srcstoretype PKCS12 -destkeystore "c:\Program Files\Java\jre1.8.0_71\lib\security\cacerts" -deststoretype JKS 

Standard-Passwort für Ihr cacerts verwenden changeit

Wo Vertrauensspeicher wird hier Ihre JRE Trust Store

Bitte beachten sein für weitere Informationen http://www.webfarmr.eu/2010/04/import-pkcs12-private-keys-into-jks-keystores-using-java-keytool/

+0

Ich bin in 'jdk1.8xxx \ jre \ lib \ security \ '(und ich kopierte auch die .p12-Datei), aber ich sehe keine' truststore.jks'-Datei. Ich habe den Befehl versucht, bekomme aber eine FileNotFoundException. Soll ich Truststore durch einen anderen Dateinamen ersetzen? – yamori

+0

Der Name ist Cacerts –

Verwandte Themen