2012-04-26 27 views
16

estoy tratando de convertir un estándar PKCS # 12 (p.12) en el almacén de claves en un almacén de claves de Java JKS con este comando:¿Qué causa el error de keytool "No se pudo descifrar la entrada de contenido seguro"?

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

está fallando con:

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

Do ¿Tienes alguna idea de cómo resolver este problema?

+2

Parece que tu PCKS # 12 del almacén de claves está dañado. ¿Puedes verificarlo con 'openssl pkcs12 ...'? – EJP

Respuesta

6

El keystore de pkcs12 estaba corrupto.

4

Nunca he intentado hacer esto antes, pero encontré instrucciones en google here.

thread hace una pregunta similar.

EDITAR (basado en comentario)

Aquí es el contenido completo de la referencia vinculado:

PFX/P12 a JKS (almacén de claves Java)

Pregunta: Cómo hacer yo mover un certificado de IIS/PFX (archivo .p12) a un JKS (Java KeyStore)?

Respuesta: herramienta de claves -importkeystore -srckeystore PFX_P12_FILE_NAME -srcstoretype pkcs12 -srcstorepass PFX_P12_FILE -srcalias SOURCE_ALIAS -destkeystore keystore_file -deststoretype jks -deststorepass CONTRASEÑA -destalias ALIAS_NAME

Nota: Para encontrar las srcalias, la lista contenido del archivo PFX/P12:

keytool -v -list -storetype pkcs12 -keystore PFX_P12_FILE> FILENAME.TXT Como esto escribe la salida del comando a un archivo con el nombre de FILENAME.TXT.

25

A veces, este error es sintomático de utilizar una contraseña incorrecta para la tecla p12.

+0

El tipo de almacén de claves pkcs12 no diferencia entre keypass y storepass. Así que en mi caso solo tuve que usar el storepass (y no el keypass) al recuperar la clave ... – Lonzak

1

hice este comando (opuesta a la suya) para exportar una clave privada a partir de una PKCS12 JKS:

herramienta de claves -importkeystore -srckeystore DemoIdentity.jks -srcstoretype JKS -destkeystore demoidentity.p12 -deststoretype PKCS12

Si dejé el "JKS de tipo de almacén" aparentemente redundante, el archivo demoidentity.p12 generado me dio el mismo error cuando traté de enumerar los detalles en keytool, aunque el comando anterior aceptó las contraseñas y generó un archivo aparentemente correctamente.

Para su problema, tal vez hizo algo similar al generar keystore.p12.

2

Tuve el mismo problema hoy (BadPaddingException). Parece que keytool tenía un problema con ciertos caracteres en la contraseña. Lo resolví agregando comillas dobles alrededor de la contraseña.

herramienta de claves -importkeystore -srckeystore PFX_P12_FILE_NAME -srcstoretype pkcs12 -srcstorepass "PFX_P12_FILE" -srcalias SOURCE_ALIAS -destkeystore keystore_file -deststoretype jks -deststorepass "CONTRASEÑA" -destalias ALIAS_NAME

Cuestiones relacionadas