Habilitando estadísticas y optimizando Postgresql
10 de enero de 2024Comandos útiles para la gestión de cluster hadoop + spark + yarn
14 de febrero de 2024Una Java KeyStore (JKS) es un repositorio (o almacén) de claves y certificados de seguridad – tanto de certificados de autorización, como de certificados de claves públicas – más las claves privadas correspondientes, utilizados por ejemplo en SSL encriptación.
Por defecto en aplicaciones escritas en lenguaje Java (hasta la versión 8), para keystores se usaba el formato JKS, sin embargo, a partir de la versión 9 el formato predeterminado cambió al PCKS12.
Con ello, podemos precisar que la principal diferencia entre ambos es que JKS es un formato específico para Java y PCKS12 es un formato estandarizado para distintos lenguajes correspondiente al almacenamiento de certificados y llaves primarias
Pasos para importar un archivo pem con todos los archivos de la cadena de confianza en un keystore.
Lanzaremos estas dos líneas con los comandos especificados:
openssl pkcs12 -export -inkey private.key -in fullchain.pem -name test -out test.p12
keytool -importkeystore -srckeystore test.p12 -srcstoretype pkcs12 -destkeystore keystore.jks
Para listar los certificados que existen dentro de un keystore escribiremos:
keytool -list -v -keystore yourkeystore.jks
keytool -list -v -keystore yourkeystore.pfx/p12/jks -storetype PKCS12 (si es formato PKCS12)
Crear un keystore en formato PKCS12
Primero creamos un archivo de texto con el certificado y la clave privada:
cat myprivkey.pem.txt mycertificate.pem.txt > mykeycertificate.pem.txt
Ahora el archivo con la clave privada y el certificado lo importamos, nos preguntará una contraseña, es la utilizada para interactuar con el almacén keystore.
openssl pkcs12 -export -in mykeycertificate.pem.txt -out keystore.jks -name myAlias -noiter -nomaciter
Otra manera de generar un archivo PKCS12:
pkcs12 -export -in certificatename.crt -inkey privkey.key -out newpkcs.p12
Convertir un archivo keystore jks a formato pkcs12
keytool -srckeystore keystore.jks -srcstoretype JKS -importkeystore -destkeystore mykeystore.p12 -deststoretype PKCS12 -deststorepass <password>