2012-04-26 7 views
16

Sto cercando di convertire un standard PKCS # 12 (p12) chiavi in ​​un negozio chiave di Java JKS con questo comando:Che cosa causa l'errore keytool "Impossibile decodificare la voce di contenuto sicuro"?

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

sta venendo a mancare con:

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

Do hai qualche idea su come risolvere questo problema?

+2

Sembra che la tua PCKS # 12 chiavi è corrotto. Puoi verificarlo con 'openssl pkcs12 ...'? – EJP

risposta

6

Il keystore pkcs12 era effettivamente danneggiato.

4

Non ho mai provato a farlo prima, ma ho trovato le istruzioni su google here.

Questo thread pone una domanda simile.

EDIT (Basato su commenti)

Ecco il contenuto completo del riferimento collegato:

PFX/P12 a JKS (Java KeyStore)

Domanda: Come faccio spostare un certificato da IIS/PFX (file .p12) in un JKS (Java KeyStore)?

Risposta: keytool -importkeystore -srckeystore PFX_P12_FILE_NAME -srcstoretype pkcs12 -srcstorepass PFX_P12_FILE -srcalias SOURCE_ALIAS -destkeystore keystore_file -deststoretype jks -deststorepass PASSWORD -destalias ALIAS_NAME

Nota: Per trovare le srcalias, elencare il contenuto del file/P12 PFX:

keytool -list -v -storetype pkcs12 -keystore PFX_P12_FILE> FILENAME.TXT Dato che questo scrive l'output del comando in un file con il nome di FILENAME.TXT.

25

A volte questo errore è sintomatico dell'utilizzo di una password errata per il tasto p12.

+0

Il tipo di keystore pkcs12 non distingue tra keypass e storepass. Quindi nel mio caso ho dovuto usare lo storepass (e non il keypass) quando recuperi la chiave ... – Lonzak

1

ho fatto questo comando (di fronte al tuo) per esportare una chiave privata per PKCS12 da un JKS:

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

Se ho lasciato il "jsstcstoretype JKS" apparentemente ridondante, il file demoidentity.p12 generato mi ha dato lo stesso errore quando ho cercato di elencare i dettagli in keytool anche se il comando precedente ha accettato le password e generato un file apparentemente correttamente!

Per il tuo problema, forse hai fatto qualcosa di simile durante la generazione di keystore.p12.

2

Ho avuto lo stesso problema oggi (BadPaddingException). Sembra che keytool abbia avuto un problema con alcuni caratteri nella password. L'ho risolto aggiungendo virgolette sulla password.

keytool -importkeystore -srckeystore PFX_P12_FILE_NAME -srcstoretype pkcs12 -srcstorepass "PFX_P12_FILE" -srcalias SOURCE_ALIAS -destkeystore keystore_file -deststoretype jks -deststorepass "PASSWORD" -destalias ALIAS_NAME

Problemi correlati