Solución:
Puede importar el archivo PKCS12 a otro PKCS12 donde puede dar una nueva contraseña para el nuevo archivo PKCS12. Luego, puede usar el nuevo archivo PKCS12 o eliminar el anterior y cambiar el nombre del nuevo archivo por el antiguo. No es una forma sencilla, pero cumple el objetivo. Se proporciona un código de muestra a continuación.
keytool -importkeystore -srckeystore DocCA.p12 -srcstoretype PKCS12 -srcstorepass 123456 -destkeystore DocCA2.p12 -deststoretype PKCS12 -deststorepass 11223344
Aquí, DocCA.p12 es el PKCS12 existente con la contraseña 123456 que se exporta en el archivo DocCA2.p12 con la contraseña 11223344.
Sé que la pregunta es sobre el uso keytool
, pero si ese no es un requisito estricto, puede usar openssl
en lugar de:
-
Exporte certificados y claves a un archivo temp.pem sin protección por contraseña. Esto le pedirá de forma interactiva la contraseña de descifrado:
openssl pkcs12 -in keystore.p12 -out temp.pem -nodes
-
Exporte del archivo temp.pem a un nuevo archivo PKCS # 12. Esto le pedirá de forma interactiva la nueva contraseña cifrada:
openssl pkcs12 -export -in temp.pem -out keystore-new.p12
-
Eliminar el archivo temporal:
rm temp.pem
⚠️ Es importante que hagas esto en una carpeta donde nadie más tenga permiso para leer, porque mientras el temp.pem
archivo existe, las claves en el interior se pueden leer.