webentwicklung-frage-antwort-db.com.de

Was verursacht den keytool-Fehler "Fehler beim Entschlüsseln des sicheren Inhaltseintrags"?

Ich versuche, einen Standard-PKCS # 12-Schlüsselspeicher (.p12) mit diesem Befehl in einen Java JKS-Schlüsselspeicher zu konvertieren:

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

Es scheitert an:

keytool error: Java.io.IOException: failed to decrypt safe contents entry: javax.crypto.BadPaddingException: Given final block not properly padded

Haben Sie eine Idee, wie Sie dieses Problem lösen können?

21

Der pkcs12-Keystore war tatsächlich beschädigt. 

8

Manchmal ist dieser Fehler symptomatisch für die Verwendung eines falschen Kennworts für den p12-Schlüssel.

33
William Grand

Ich habe noch nie versucht, dies zu tun, aber ich habe Anweisungen auf google hier gefunden.

Dieser Thread stellt eine ähnliche Frage.

EDIT (Basierend auf Kommentar)

Hier ist der volle Inhalt der verlinkten Referenz:

PFX/P12 nach JKS (Java KeyStore)

Question: Wie verschiebe ich ein Zertifikat von IIS/PFX (.p12-Datei) in ein JKS (Java KeyStore)?

Answer: keytool -importkeystore -srckeystore PFX_P12_FILE_NAME -srcstoretype pkcs12 -srcstorepass PFX_P12_FILE -srcalias SOURCE_ALIAS -destkeystore KEYSTORE_FILE -deststoretore jks -deststoretake

Note: Um die srcalias zu finden, listen Sie den Inhalt der PFX/P12-Datei auf:

keytool -v -list -storetype pkcs12 -keystore PFX_P12_FILE> FILENAME.TXT Da dies die Ausgabe des Befehls in eine Datei mit dem Namen FILENAME.TXT schreibt. 

4
axiopisty

Ich hatte heute das gleiche Problem (BadPaddingException). Es scheint, dass das Keytool ein Problem mit bestimmten Zeichen im Passwort hatte. Ich habe es gelöst, indem ich das Passwort in doppelte Anführungszeichen gesetzt habe.

keytool -importkeystore -srckeystore PFX_P12_FILE_NAME -srcstoretype pkcs12 -srcstorepass "PFX_P12_FILE" -srcalias SOURCE_ALIAS -destkeystore KEYSTORE_FILE -deststype

3
KoJaman

Ich habe diesen Befehl (im Gegensatz zu Ihrem) ausgeführt, um einen privaten Schlüssel von einem JKS nach PKCS12 zu exportieren:

keytool -importkeystore -srckeystore DemoIdentity.jks -srcstoretype JKS -destkeystore demoidentity.p12 -deststoretype PKCS12

Wenn ich das anscheinend redundante "-srcstoretype JKS" aufhörte, gab mir die erzeugte Datei "demoidentity.p12" den gleichen Fehler, als ich versuchte, die Details in keytool aufzulisten, obwohl der obige Befehl die Passwörter akzeptierte und eine Datei scheinbar korrekt erzeugte!

Vielleicht haben Sie bei der Erstellung von keystore.p12 etwas Ähnliches getan.

1
Ben

Ich hatte ein ähnliches Problem, als ich versuchte, Zertifikate als pfx von JKS zu exportieren. Es funktionierte, als ich das deststorepass-Attribut im keytool-Befehl ausschloß und zur Laufzeit das Zielspeicher-Kennwort gab.

keytool -importkeystore -srckeystore Keystore.jks -destkeystore dv163.pfx -srcstoretype JKS -deststoretype PKCS12 -srcalias alias1-destalias alias1

Geben Sie das Zielschlüsselspeicherkennwort ein:

Neues Passwort erneut eingeben:

Geben Sie das Quellschlüsselspeicherkennwort ein:

0
Ram