Los certificados digitales que se utilizan para SSL / TLS tienen varios componentes. Si bien hay muchos detalles que podemos examinar, todo lo que realmente necesitamos es una descripción general de alto nivel, pero cada pieza es importante para comprender qué debe hacer y por qué.
Cuando comenzó el proceso de obtención de su certificado, primero emitió el comando,
keytool -keystore keystore -alias myalias -genkey -keyalg RSA -keysize 2048
Usted describió esto como "crear su almacén de claves", lo cual es correcto, pero también hizo algo mucho más importante: generó su par de claves pública / privada. En este caso, el nuevo almacén de claves contenía un par de claves utilizando el algoritmo RSA y con 2048 bits de entropía (una forma elegante de decir qué tan fuerte es la clave, o cuánto tiempo puede tardar en romperse en relación con otras claves). Esto es importante porque el par de claves es cómo le demostrará a la Autoridad de Certificación (CA) que su próxima solicitud es una renovación, es realmente suya y corresponde al mismo certificado.
Cuando generaste tu solicitud de certificado,
keytool -certreq -alias myalias -keystore keystore -file myrequest.csr
usted creó un archivo que contenía la información de su sitio web (foo.com), junto con un montón de otras cosas, incluida su clave pública. Todo se codificó en un formato conocido y se envió a la CA. La CA generó su certificado utilizando su clave pública y su clave privada, que es la forma en que un navegador web aleatorio puede usar esto para saber que están en su sitio web y que es seguro enviar datos. Su certificado se valida por su clave privada, que solo usted tiene, y por la clave pública de la AC, que solo funciona si coincide con la clave privada que firmó el certificado.
Entonces, ¿cómo puede todo esto cumplir su objetivo de renovar su certificado?
La respuesta corta es que no se renueva, porque una renovación no es realmente una renovación.
Una "renovación" es solo una manera elegante de decir que está solicitando un nuevo certificado, con una nueva fecha de caducidad, utilizando la misma clave privada que para el certificado anterior. Si usa el mismo comando que antes (con la opción -certreq), creará una nueva solicitud de certificado utilizando su par de claves existente. Envíelo a GoDaddy (o a cualquier otra CA) y deberían poder procesar su solicitud sin problemas.
Cuando te envíen el certificado, ejecuta el comando de importación y listo:
keytool -keystore keystore -import -alias myalias -file example.com.crt -trustcacerts
Debería poder importar el nuevo certificado en el mismo almacén de claves que el certificado anterior, ya que tienen diferentes números de serie. Si tiene problemas con la importación, intente usar un nuevo alias. Dado que un alias generalmente es solo para su propia referencia, puede cambiar el alias o ir y eliminar el certificado anterior del almacén de claves. Ya no se utilizará, por lo que es seguro eliminarlo, pero tampoco suele dañar nada para mantenerlo cerca.
Nota: no tendrá que ejecutar la importación raíz de CA nuevamente a menos que GoDaddy haya actualizado su certificado raíz (esto sucede, pero no muy a menudo). Este fue el comando que usaste para traer el certificado raíz:
keytool -import -trustcacerts -alias myalias -keystore keystore -file gd_bundle.crt
Como mencionó que está usando GoDaddy, aquí está el enlace a su página de renovación. Las únicas instrucciones que tienen que están cerca del servidor Jetty que está utilizando son las de Tomcat. Si bien no son exactos, la página de Tomcat incluye algunas instrucciones sobre el uso de keytool.
página de soporte de Renovación de certificados de GoDaddy