2013-04-26 20 views
10

Ich benötige Hilfe beim Umwandeln meiner .P12-Zertifikatsdatei in einen JKS-Keystore. Ich habe die Standardbefehle mit dem Keytool-Dienstprogramm von Java befolgt. Wenn ich jedoch versuche, die resultierende JKS-Datei zu verwenden, um über SOAPUI auf den WS-Endpunkt zuzugreifen, erhalte ich einen 403.7-Fehler - Verboten: Ein SSL-Zertifikat ist erforderlich. Die Verwendung der P12-Datei mit SOAPUI für denselben Endpunkt führt zu einer erfolgreichen Antwort. Hier ist der Standardbefehl einen P12 Schlüsselspeichers in einen JKS Schlüsselspeicher für den Import -Benötigen Sie Hilfe beim Umwandeln des P12-Zertifikats in JKS

keytool -importkeystore -srckeystore src.p12 -srcstoretype PKCS12 -deststoretype JKS -destkeystore target.jks 

Ich habe auch versucht openssl die P12 konvertieren mit -> PEM -> DER -> JKS:

openssl pkcs12 -in src.p12 -out src.pem -clcerts 

(Bearbeiten src.pem in seine beiden Verbundteile genannt src.key und src.cer)

openssl pkcs8 -topk8 -nocrypt -in src.key -out key.der -inform PEM -outform DER 
openssl x509 -in src.cer -inform PEM -out cert.der -outform DER 

(ich ein Dienstprogramm lief die beiden Schlüssel in keystore.ImportKey zu kombinieren)

keytool -importkeystore -srckeystore keystore.ImportKey -destkeystore target.JKS 

und ähnlich keine Würfel.

Gibt es etwas, das mir fehlt?

Antwort

0

Ich bin überrascht, warum niemand diese Frage so lange beantwortet hat. Anyways die einfachste Methode, um p12 in Jks zu konvertieren, ist mit Keytool. Im Folgenden ist der Befehl, den Sie möglicherweise verwenden müssen:

keytool -importkeystore -srckeystore mystore.jck -destkeystore myotherstore.jks -srcstoretype jceks 
-deststoretype jks -srcstorepass mystorepass -deststorepass myotherstorepass -srcalias myserverkey 
-destalias myotherserverkey -srckeypass mykeypass -destkeypass myotherkeypass 

glaube ich, die Probleme wahrscheinlich Sie konfrontiert sind, weil Sie Keypass nicht vorsah. Bitte beachten Sie, dass es eine gute Übung ist, Keypass und StorePass gleich zu halten, da der Server manchmal nicht zwischen Keypass und StorePass unterscheiden kann.

0

Aber er fragte, wie man JKS konvertieren P12, so lautet die Antwort:

keytool -importkeystore -srckeystore mystore.p12 -destkeystore myotherstore.jks -srcstoretype PKCS12 -deststoretype jks -srcstorepass mystorepass -deststorepass myotherstorepass -srcalias myserverkey -destalias myotherserverkey -srckeypass mykeypass -destkeypass myotherkeypass 

Genau diese Linie verwenden musste, funktioniert für mich.

4

Wenn Sie Keytool Anwendung und Ihre PKCS # 12-Datei zu tun haben, starten Sie die einzeilige Befehl:

keytool -importkeystore -srckeystore [MY_FILE.p12] -srcstoretype pkcs12 
-srcalias [ALIAS_SRC] -destkeystore [MY_KEYSTORE.jks] 
-deststoretype jks -deststorepass [PASSWORD_JKS] -destalias [ALIAS_DEST] 

Sie werden diese Parameter ändern müssen:

  • MY_FILE.p12: Geben Sie die Pfad zur PKCS # 12-Datei (Erweiterung .p12 oder .pfx), die konvertiert werden soll.
  • MY_KEYSTORE.jks: Pfad zum Keystore, in dem Sie Ihr Zertifikat speichern möchten. Wenn es nicht existiert, wird es automatisch erstellt.
  • PASSWORD_JKS: Passwort, das beim Öffnen des Schlüsselspeichers angefordert wird.
  • ALIAS_SRC: Name, der Ihrem Zertifikatseintrag in der PKCS # 12-Datei entspricht, z. B. "tomcat".
  • Wenn Sie Ihr Zertifikat von einem Windows-Server exportieren, der eine .PFX Datei generiert, müssen Sie den von Windows erstellten "Alias" -Namen abrufen.Dazu können Sie den folgenden Befehl ausführen:

    keytool -v -list -storetype pkcs12 -keystore FILE_PFX 
    

    Dort wird der „Aliasname“ Feld gibt den Speichernamen Ihres Zertifikats müssen Sie in der Befehlszeile verwenden.

  • ALIAS_DEST: Name, der mit Ihrem Zertifikatseintrag im JKS-Keystore übereinstimmt, zum Beispiel "tomcat".
Verwandte Themen