Para importar un certificado x.509 (.crt .cer .der) y su clave privada en un keystore de java, previamente es necesario convertir el certificado y su clave privada en un archivo PKCS12. Una vez realizado, keytool
de java ya nos permite importar el PKCS12 en un keystore.
Convertir clave privada y certificado a formato PKCS12
Utilizaremos openssl para hacer la conversión:
$ openssl pkcs12 -export -out foo.pfx -inkey foo.key -in foo.crt -name foo
- foo.pfx: fichero PKCS12 de destino
- foo.key: clave privada en formato X509
- foo.crt: certificado en formato X509
- foo: alias del certificado
Importar archivo PKCS12 en un keystore
Una vez que tenemos el archivo pfx, ya podemos utilizar la herramienta keytool
para importar el certificado en un keystore:
$ keytool -importkeystore -deststorepass password -destkeypass password \ -destkeystore keystore.jks -srckeystore /tmp/foo.pfx \ -srcstoretype PKCS12 -srcstorepass password -alias foo
- deststorepass: contraseña del keystore de destino
- destkeypass: contraseña a asignar a la private key en el keystore
- destkeystore: ruta al keystore
- srckeystore: ruta al archivo PKCS12
- srcstorepass: contraseña del archivo PKCS12 (especificada en el paso anterior)
- alias: alias del certificado (especificado en el paso anterior)