2014-12-25 19 views
18

Ich habe einen .p12 Schlüsselspeicher mit openssl aus einem pkcs8 Keystore erstellt. Jetzt versuche ich den privaten Schlüssel mit Java Keytool in einen neuen JKS Keystore zu importieren. Ich habe versucht, den Befehl:.p12 Keystore konnte nicht importiert werden

keytool -importkeystore -srckeystore newKS.p12 -srcstoretype pkcs12 -srcstorepass pass -destkeystore exportedJks.jks -deststoretype jks -deststorepass pass

Aber ich bekomme die folgende Fehlermeldung:

keytool error: java.security.UnrecoverableKeyException: Get Key failed: EC KeyFactory not available

Wie kann ich diesen Fehler beheben, damit ich diesen Schlüssel in ein neues JKS-Keystor importieren?

+5

http://meta.stackoverflow.com/questions/281257/why-was-this-question-put-on-hold-as-too-broad –

Antwort

24

Die Fehlermeldung bedeutet, dass die Java-Laufzeitumgebung keinen Crypto-Provider für ECC-Algorithmen (Elliptic Curve Cryptography) gefunden hat.

Java 6 enthält nur grundlegende Unterstützung für ECC: Es kennt die OIDs der meisten EC-Algorithmen und weiß daher, dass es eine "EC KeyFactory" finden muss. Standardmäßig wird jedoch kein Anbieter installiert, der diese Algorithmen verarbeiten kann.

Die SunEC provider mit voller ECC-Unterstützung wurde in Java 7 hinzugefügt, so dass die einfachste Lösung für dieses Problem die Verwendung von Keytool aus einer Java 7 oder 8 Runtime ist.