verificar instalar digicert crear chequear certificado ssl openssl handshake

ssl - instalar - verificar certificado digicert



El protocolo de enlace SSL falla con un certificado de cadena verisign que contiene dos certificados firmados por CA y un certificado autofirmado (5)

Acerca del servidor puede entregar a los clientes el certificado raíz o no, extraído del RFC-5246 ''El protocolo de Seguridad de la capa de transporte (TLS) Versión 1.2'' dice:

lista_de_certificados
Esta es una secuencia (cadena) de certificados. El certificado del remitente DEBE ser el primero en la lista. Cada certificado siguiente DEBE certificar directamente el que lo precede. Debido a que la validación de certificados requiere que las claves raíz se distribuyan de forma independiente, el certificado autofirmado que especifica la autoridad del certificado raíz PUEDE ser omitido de la cadena, debajo del
suposición de que el extremo remoto ya debe poseerlo para validarlo en cualquier caso.

Acerca del término "MAYO", extraído de la RFC-2119 "Mejor práctica actual", dice:

5.MAY
Esta palabra, o el adjetivo "OPCIONAL", significa que un artículo es verdaderamente opcional. Un proveedor puede elegir incluir el artículo porque
mercado particular lo requiere o porque el vendedor siente que
mejora el producto, mientras que otro proveedor puede omitir el mismo elemento.
Una implementación que no incluye una opción en particular DEBE ser
preparado para interoperar con otra implementación que no
incluye la opción, aunque quizás con una funcionalidad reducida. En el mismo sentido, una implementación que incluye una opción particular
DEBE estar preparado para interoperar con otra implementación que
no incluye la opción (excepto, por supuesto, para la función
la opción proporciona.)

En conclusión, la raíz puede estar en la ruta de certificación entregada por el servidor en el protocolo de enlace.

Un uso práctico.
Piense, no en los términos del usuario del navegador, sino en una herramienta de transferencia en un servidor en una zona militarizada con acceso limitado a Internet.
El servidor, desempeñando el rol de cliente en la transferencia, recibe todas las rutas de certificación del servidor.
Se deben verificar todos los certs de la cadena para que sean de confianza, incluida la raíz.
La única forma de comprobar esto es incluir la raíz en la ruta de certs en el tiempo de transferencia, y compararla con una copia local previamente declarada como ''confiable''.

Estoy atascado con un problema e intento depurarlo. Compramos un certificado de Verisign. Cuando usamos:

openssl> s_client -connect myweb.com:443 -showcerts

El protocolo de enlace SSL nunca se completa y al final vemos un error:

Verify return code: 19 (self signed certificate in certificate chain)

Muestra 3 ---BEGIN/END CERTIFICATE--- tags. Dos certificados en cadena están firmados por Verisign, pero uno está auto firmado.

  1. Si alguien puede explicar cómo aparece este certificado autofirmado en un certificado firmado CA?

  2. ¿Este error 19 (self signed certificate in certificate chain) benigno? Si no, ¿qué podría estar causando eso?

  3. El cliente tiene el certificado de CA en la tienda de confianza, pero no hay nada para el certificado autofirmado. ¿Crees que eso podría estar causando problemas? Si es así, ¿cómo puedo hacer lo siguiente?

    1. ¿Cómo puedo deshacerme del certificado autofirmado del certificado de cadena dejando solo 2 certificados firmados por CA en cadena?
    2. ¿Agregar este certificado autofirmado en la tienda de confianza del cliente?


Cuando vea " Verify return code: 19 (self signed certificate in certificate chain) ", entonces, o bien los servidores están realmente tratando de usar un certificado autofirmado (que un cliente nunca podrá verificar), o OpenSSL no tiene acceso a la raíz necesaria, pero el servidor está tratando de proporcionarlo (lo que no debería hacer porque no tiene sentido; un cliente nunca puede confiar en que un servidor proporcione la raíz correspondiente al certificado del servidor).

De nuevo, agregar -showcerts lo ayudará a diagnosticar cuál.


Los certificados raíz emitidos por las CA son solo certificados autofirmados (que a su vez pueden utilizarse para emitir certificados CA intermedios). No tienen mucho especial acerca de ellos, excepto que han logrado ser importados por defecto en muchos navegadores o anclajes de confianza del sistema operativo.

Mientras que los navegadores y algunas herramientas están configurados para buscar los certificados de CA de confianza (algunos de los cuales pueden estar autofirmados) en la ubicación de forma predeterminada, hasta donde yo sé, el comando openssl no lo está.

Como tal, cualquier servidor que presente la cadena completa de certificados, desde su certificado de entidad final (el certificado del servidor) hasta el certificado de CA raíz (posiblemente con certificados de CA intermedios) tendrá un certificado autofirmado en la cadena: la CA raíz .

openssl s_client -connect myweb.com:443 -showcerts no tiene ningún motivo en particular para confiar en el certificado de CA raíz de Verisign, y como está autofirmado, obtendrá un " certificado autofirmado en la cadena de certificados ".

Si su sistema tiene una ubicación con un paquete de certificados confiables por defecto (creo que /etc/pki/tls/certs en RedHat / Fedora y /etc/ssl/certs en Ubuntu / Debian), puede configurar OpenSSL para usarlos como anclas de confianza, por ejemplo, así:

openssl s_client -connect myweb.com:443 -showcerts -CApath /etc/ssl/certs


Parece que falta el certificado intermedio. A partir de abril de 2006, todos los certificados SSL emitidos por VeriSign requieren la instalación de un certificado CA intermedio.

Es posible que no tenga toda la cadena de certificados cargada en su servidor. Algunas empresas no permiten que sus computadoras descarguen certificados adicionales, lo que provoca que no se complete el protocolo de enlace SSL.

Aquí hay información sobre cadenas intermedias:
https://knowledge.verisign.com/support/ssl-certificates-support/index?page=content&id=AR657
https://knowledge.verisign.com/support/ssl-certificates-support/index?page=content&id=AD146

Certificados intermedios de CA