Přeskočit na obsah
  1. Inicio
  2. Ayuda
  3. Trabajar con los certificados
  4. Trabajar con los certificados en Java keystore

Trabajar con certificados en Java keystore

El siguiente texto está destinado a usuarios que utilizan Apache Tomcat para firmar las aplicaciones (applets) en Java y en general trabajan con el almacén de claves de Java.

Aviso: Crear la CSR para Code Signing es lo mismo que crearla para el certificado de servidor. Common name es el nombre de su empresa.

Crear un almacén de claves (keystore) y un par de claves

Este comando crea un nuevo almacén de claves y un par de claves que utilizará para crear un pedido de un certificado.

keytool -genkey -alias test -keyalg RSA -keystore test.jks -keysize 3072

Luego se le pedirá que introduzca la contraseña para el almacén de claves y la información especificativa. Los datos introducidos van a corresponder a aquellos que están en la CSR:

What is your first and last name?
  [Unknown]:  Test Test
What is the name of your organizational unit?
  [Unknown]:  Unit
What is the name of your organization?
  [Unknown]:  Test corp.
What is the name of your City or Locality?
  [Unknown]:  Some City
What is the name of your State or Province?
  [Unknown]:  Some State
What is the two-letter country code for this unit?
  [Unknown]:  US
Is CN=Test Test, OU=Unit, O=Test corp., L=Some City, ST=Some State, C=US correct?
  [no]:  yes

Crear la CSR

La CSR le creamos mediante el siguiente comando:

keytool -certreq -alias test -keystore test.jks -file test.csr

Ha introducido los datos sobre el demandante al crear el par de claves en el paso anterior, por eso la herramienta de claves ya no los pide.

El parámetro -file test.csr sirve para enviar la CSR a un archivo. Si lo omite, la CSR aparecerá en el terminal y puede copiarla directamente a nuestro pedido. Luego solo espere hasta que se emita el certificado.

La importación del certificado emitido al almacén de claves

Recibirá el certificado emitido de SSLmarket por correo electrónico y necesita enviarlo al almacén de claves.

Durante la importación el almacén de claves requiere que el certificado sea fiable y que la autoridad certificadora esté presente en el almacén. Esto significa que los certificados se importan en „orden inverso“: desde la raíz al servidor.

Para la importación usa el comando:

keytool -import -trustcacerts -alias test -file test.txt -keystore test.jks

Error: Failed to establish chain from reply

El requisito mencionado para importar el certificado CA al almacén de claves causa un error frecuente keytool error: java.lang.Exception: Failed to establish chain from reply. Este error significa que falta el certificado CA/intermediate.

Opciones de solucionar el problema:

  1. Importar en orden inverso – primero los certificados CA:

    keytool -import -trustcacerts -alias root -file intermediate.crt -keystore test.jks
  2. Importar el certificado en formato PKCS#7 (P7B). Convierta el archivo linux_cert+ca.pem que ha recibido de SSLmarket a P7B usando este comando:

    openssl crl2pkcs7 -nocrl -certfile linux_cert+ca.pem -out linux_cert+ca.p7b

    y luego importe este archivo al almacén de claves:

    keytool -import -trustcacerts -alias test -file linux_cert+ca.p7b -keystore test.jks

    El resultado Certificate reply was installed in keystore es una importación exitosa; al contrario, el error Public keys in reply and keystore don't match significa que en el archivo P7B no está el certificado para este dominio (de servidor, endpoint), sino solo el intermediate.

  3. Eventualmente, importar un certificado en formato PKCS#12 (PFX) en el que está todo junto:

    keytool -importkeystore -srckeystore pkcs12file.p12 -srcstoretype pkcs12 -destkeystore test.jks -deststoretype JKS

    La importación mediante PKCS#12 es la más rápida pero si ha generado la CSR directamente en el almacén de claves, es inútil (requiere su exportación).

Herramientas con GUI

Si no quiere trabajar con el almacén de claves utilizando una línea de comandos o un terminal puede usar una de las pocas herramientas de interfaz gráfica.

Ambos programas pueden crear o abrir un archivo de almacén de claves, crear la CSR o importar el certificado emitido de nuevo (respuesta de la autoridad certificadora). El proceso es igual al del terminal arriba mencionado; lo que difiere es el entorno gráfico en el que pueda hacerlo.

Portecle

Portecle es un programa gratuito en Java que permite administrar el almacén de claves en el entorno gráfico. Puede ejecutarlo en plataformas diferentes (Linux, MacOS, Windows).

Portecle – gestión del Java keystore
Portecle – gestión del Java keystore

KeyStore Explorer

KeyStore Explorer funciona de modo parecido al programa precedente y también es multiplataforma.

KeyStore Explorer – gestión del Java keystore
KeyStore Explorer – gestión del Java keystore

Sin embargo, la lógica de ambos programas mencionados se parece al almacén de claves original: así al final no necesariamente ahorrará el trabajo.

¿Es demasiado para usted?

Si se queda bloqueado en cualquier paso, no dude en contactar con nuestro soporte al cliente, que le aconsejará y le ayudará.

ZONER, S.A.

Avenida de Europa 26, EDIFICIO ÁTICA 5, 2ª planta
28224 Pozuelo de Alarcón, Madrid

N.º de registro: 49437381
NIF: CZ49437381