Verwenden von JDK 1.6 oder höher
Justin hat in den Kommentaren unten darauf hingewiesen, dass Keytool allein dies mit dem folgenden Befehl tun kann (allerdings nur in JDK 1.6 und höher):
keytool -importkeystore -srckeystore mypfxfile.pfx -srcstoretype pkcs12
-destkeystore clientcert.jks -deststoretype JKS
Verwenden von JDK 1.5 oder niedriger
OpenSSL kann alles. Diese Antwort auf JGuru ist die beste Methode, die ich bisher gefunden habe.
Stellen Sie zunächst sicher, dass Sie OpenSSL installiert haben. Viele Betriebssysteme haben es bereits installiert, wie ich es unter Mac OS X gefunden habe.
Die folgenden zwei Befehle konvertieren die pfx-Datei in ein Format, das als Java PKCS12-Schlüsselspeicher geöffnet werden kann:
openssl pkcs12 -in mypfxfile.pfx -out mypemfile.pem
openssl pkcs12 -export -in mypemfile.pem -out mykeystore.p12 -name "MyCert"
HINWEIS: Der im zweiten Befehl angegebene Name ist der Alias Ihres Schlüssels im neuen Schlüsselspeicher.
Sie können den Inhalt des Schlüsselspeichers mit dem Dienstprogramm Java keytool mit dem folgenden Befehl überprüfen:
keytool -v -list -keystore mykeystore.p12 -storetype pkcs12
Wenn Sie möchten, können Sie dies schließlich in einen JKS-Schlüsselspeicher konvertieren, indem Sie den oben erstellten Schlüsselspeicher in einen neuen Schlüsselspeicher importieren:
keytool -importkeystore -srckeystore mykeystore.p12 -destkeystore clientcert.jks -srcstoretype pkcs12 -deststoretype JKS