validate online generate from check ssl certificate openssl

online - OpenSSL: no se puede verificar el primer certificado para la URL de Experian



openssl pkcs12 export (3)

Agregar información adicional a la respuesta en relieve.

Para decirlo simplemente, hay un certificado incorrecto en su cadena de certificados.

Por ejemplo, su autoridad de certificación probablemente le habrá dado 3 archivos.

  • your_domain_name.crt
  • DigiCertCA.crt # (O cualquiera que sea el nombre de su autoridad de certificación)
  • TrustedRoot.crt

Lo más probable es que haya combinado todos estos archivos en un solo paquete.

-----BEGIN CERTIFICATE----- (Your Primary SSL certificate: your_domain_name.crt) -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- (Your Intermediate certificate: DigiCertCA.crt) -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- (Your Root certificate: TrustedRoot.crt) -----END CERTIFICATE-----

Si crea el paquete, pero usa una versión antigua o incorrecta de su Certificado intermedio (DigiCertCA.crt en mi ejemplo), obtendrá los síntomas exactos que está describiendo.

Vuelva a descargar todos los certificados de su autoridad de certificación y cree un nuevo paquete.

Estoy intentando verificar una conexión SSL a Experian en Ubuntu 10.10 con el cliente OpenSSL.

openssl s_client -CApath /etc/ssl/certs/ -connect dm1.experian.com:443

El problema es que la conexión se cierra con un código de verificación Verify: 21 (no se puede verificar el primer certificado).

Revisé la lista de certificados y el Certificado utilizado para firmar Experian (VeriSign Class 3 Secure Server CA - G3) está incluido en la lista.

/etc/ssl/certs/ca-certificates.crt

Sin embargo, no sé por qué no puede verificar el primer certificado. Gracias por adelantado.

La respuesta completa se puede ver aquí: https://gist.github.com/1248790


El primer mensaje de error te dice más sobre el problema:

verificar el error: num = 20: no se puede obtener el certificado de emisor local

La autoridad emisora ​​de certificados del certificado del servidor de la entidad final es

VeriSign Class 3 Secure Server CA - G3

Mire detenidamente en su archivo de CA - no encontrará este certificado, ya que es una CA intermediaria - lo que encontró fue una CA primaria pública de G3 llamada similar de VeriSign.

Pero ¿por qué la otra conexión tiene éxito, pero este no? El problema es una configuración incorrecta de los servidores ( -debug usando la opción -debug ). El servidor "bueno" envía toda la cadena de certificados durante el protocolo de enlace, por lo tanto, le proporciona los certificados intermedios necesarios.

Pero el servidor que está fallando le envía solo el certificado de la entidad final, y OpenSSL no es capaz de descargar el certificado intermedio que falta "sobre la marcha" (lo cual sería posible mediante la interpretación de la extensión de acceso a la información de la autoridad). Por lo tanto, su intento falla al usar s_client pero de todos s_client tendrá éxito si navega a la misma URL usando, por ejemplo, FireFox (que sí admite la función de "descubrimiento de certificados").

Sus opciones para resolver el problema son arreglar esto en el servidor haciendo que el servidor envíe toda la cadena, o pasando el certificado intermedio faltante a OpenSSL como un parámetro del lado del cliente.


Encontré el mismo problema al instalar mi certificado firmado en una instancia de Amazon Elastic Load Balancer.

Todo parecía encontrarlo a través de un navegador (Chrome) pero al acceder al sitio a través de mi cliente java producía la excepción javax.net.ssl.SSLPeerUnverifiedException

Lo que no hice fue proporcionar un archivo de "cadena de certificados" al instalar mi certificado en mi instancia ELB (consulte https://serverfault.com/questions/419432/install-ssl-on-amazon-elastic-load-balancer-with-godaddy-wildcard-certificate )

Solo nos enviaron nuestra clave pública firmada de la autoridad de firma, así que tuve que crear mi propio archivo de cadena de certificados. Usando el panel de visor de certificados de mi navegador, exporté cada certificado en la cadena de firma. (El orden de la cadena de certificados es importante, consulte https://forums.aws.amazon.com/message.jspa?messageID=222086 )