instalar crear certificado ssl keystore keytool

crear - instalar certificado ssl windows 7



Importar certificado como PrivateKeyEntry (2)

Deshágase de la opción -trustcacerts . No es un certificado de CA. Es tu certificado. Y use el mismo alias que ya tenía la clave privada.

Estoy instalando SSL en un servidor Tomcat y estoy siguiendo estas instrucciones del emisor https://knowledge.rapidssl.com/support/ssl-certificate-support/index?page=content&actp=CROSSLINK&id=SO16181 y dice:

Verify the following information: The SSL certificate is imported into the alias with the "Entry Type" of PrivateKeyEntry or KeyEntry. If not, please import the certificate into the Private Key alias.

Cuando importo el certificado (tomcat) estoy usando:

keytool -import -trustcacerts -alias your_alias_name -keystore your_keystore_filename -file your_certificate_filename

pero cuando lo hago, importa como trustCertEntry

Keystore type: JKS Keystore provider: SUN Your keystore contains 3 entries primaryca, Jul 26, 2014, trustedCertEntry, Certificate fingerprint (SHA1): <snip> tomcat, Jul 26, 2014, trustedCertEntry, Certificate fingerprint (SHA1): <snip> secondaryca, Jul 26, 2014, trustedCertEntry, Certificate fingerprint (SHA1): <snip>

¿Cómo puedo hacer la importación de alias tomcat como PrivateKeyEntry?


Estas pautas de CA son un poco engañosas. @EJP correctamente dijo que no debería usar -trustcacerts para su certificado.

Además, este documento de CA sugiere importar los certificados de CA primarios e intermedios en operaciones separadas, lo que debería proporcionarle un resultado como este:

primaryca, Jul 26, 2014, trustedCertEntry, Certificate fingerprint (SHA1): <snip> secondaryca, Jul 26, 2014, trustedCertEntry, Certificate fingerprint (SHA1): <snip> tomcat, Jul 26, 2014, PrivateKeyEntry, Certificate fingerprint (SHA1): <snip>

Desafortunadamente, importar los certificados de CA en su almacén de claves de esta manera no tiene sentido. (Sería útil en un almacén de confianza , pero la CA que está utilizando probablemente ya esté en el almacén de confianza predeterminado).

Es útil tener los certificados de CA para su certificado en el almacén de claves de hecho, para presentar una cadena de certificados completa cuando se requieren certificados intermedios. Sin embargo, el administrador de claves (a menos que sea una implementación personalizada) no construirá la cadena por usted, incluso si encuentra certificados de CA adecuados junto a su Certificado de entidad final (en PrivateKeyEntry).

Debe importar esos certificados juntos , como una cadena, contra la entrada donde está su clave privada. Para hacerlo, concatene los certificados juntos en un archivo de texto (codificado con PEM), su certificado de servidor primero, seguido del certificado utilizado para emitirlo, y así sucesivamente. Luego, importe ese archivo a su almacén de claves usando ese alias de clave privada. (Este es exactamente el mismo problema que en esta pregunta , pero con un certificado de servidor).

(No estoy seguro de si su CA ya le proporciona su archivo cert como una cadena, pero, en general, obtiene al menos su cert solo en un archivo, y el CA intermedio certifica en otro. El documento al que se vincula parece engañoso porque no mencione más de un bloque entre --BEGIN/END CERT-- , pero de alguna manera su captura de pantalla de ejemplo tiene una longitud de certificado de 4 contra ese único alias).

Como @jww señaló en un comentario sobre su pregunta, no necesita el certificado CA "raíz" (el que está autofirmado) en esta cadena, ya que su cliente ya confía en él o no tiene ningún motivo para hacerlo. confía en cuando lo envíes. No está mal tenerlo en su cadena, pero no tiene sentido, y podría agregar un poco de sobrecarga de red.