Cómo leer cadenas de certificados en OpenSSL

2

Estoy tratando de entender cómo leer la salida de los comandos de OpenSSL.

Actualmente, estoy tratando de entender cómo funcionan las cadenas de certificados.

Cuando doy el comando (usando un paquete ca estándar)

openssl s_client -connect www.google.com:443 -CAfile ca-bundle.crt

me sale

CONNECTED(00000003)IzJZ5dQUbs0pjW3tAgTAMBgNVHRMBAf8EAjAAMB8GA1Ud
depth=3 /C=US/O=Equifax/OU=Equifax Secure Certificate AuthorityW
verify return:1BAgIwMAYDVR0fBCkwJzAloCOgIYYfaHR0cDovL3BraS5nb29n
depth=2 /C=US/O=GeoTrust Inc./CN=GeoTrust Global CAyd2eyQKKxh3vJ
verify return:11cY/EIksH6hXF6EFnS+8vWZs8Ka8FyQi76cUOSqk2ed2DvOeT
depth=1 /C=US/O=Google Inc/CN=Google Internet Authority G2Bii82d
verify return:1UuiFeti7EjUXr0E58NMnBw39Zv6nZaSbppvlLR/jRBKCRB7jB
depth=0 /C=US/ST=California/L=Mountain View/O=Google Inc/CN=www.google.com
verify return:1sfjYdq1K94yLkfe6mUR7Go6JUkD/eB/Aq9KKoSJbJEvvjGIiJ
---MkQ==
Certificate chainATE-----
 0 s:/C=US/ST=California/L=Mountain View/O=Google Inc/CN=www.google.comcom
   i:/C=US/O=Google Inc/CN=Google Internet Authority G2G2
 1 s:/C=US/O=Google Inc/CN=Google Internet Authority G2
   i:/C=US/O=GeoTrust Inc./CN=GeoTrust Global CA
 2 s:/C=US/O=GeoTrust Inc./CN=GeoTrust Global CA
   i:/C=US/O=Equifax/OU=Equifax Secure Certificate Authority
---
Server certificateCipher is AES128-SHA
-----BEGIN CERTIFICATE-----it
MIIEgDCCA2igAwIBAgIIMPM39zVrKUkwDQYJKoZIhvcNAQELBQAwSTELMAkGA1UE
BhMCVVMxEzARBgNVBAoTCkdvb2dsZSBJbmMxJTAjBgNVBAMTHEdvb2dsZSBJbnRl
cm5ldCBBdXRob3JpdHkgRzIw....
.....

Mi pregunta está relacionada con la sección de Cadena de certificados.

¿Cuál es el certificado raíz? ¿El primero en la lista o el último? ¿Por qué están todos reportados? ¿No es una validación suficiente para seguir adelante?

    
pregunta CodyBugstein 04.12.2015 - 07:12
fuente

2 respuestas

3
 0 s:/C=US/ST=California/L=Mountain View/O=Google Inc/CN=www.google.com
   i:/C=US/O=Google Inc/CN=Google Internet Authority G2
 1 s:/C=US/O=Google Inc/CN=Google Internet Authority G2
   i:/C=US/O=GeoTrust Inc./CN=GeoTrust Global CA
 2 s:/C=US/O=GeoTrust Inc./CN=GeoTrust Global CA
   i:/C=US/O=Equifax/OU=Equifax Secure Certificate Authority
     

...   ¿Cuál es el certificado raíz? ¿El primero listado o el último?

Ninguno de estos. Solo muestra qué certificados son enviados por el servidor, es decir, el certificado de hoja y los certificados intermedios (en cadena). Por lo general, el certificado raíz no se envía (y se ignoraría si se enviara) ya que toda la idea de la validación de una ruta confiable es que la raíz es confiable porque se conoce localmente.

En este caso, la ruta de confianza se puede validar si el usuario tiene el certificado para 'Equifax Secure Certificate Authority' como un certificado de confianza local y si este certificado se puede usar para validar la firma del certificado # 2 (GeoTrust Global CA) , luego el certificado # 2 se puede usar para verificar la firma del certificado # 1 y el certificado # 1 para verificar la firma del certificado # 0. Tenga en cuenta que la ruta de confianza es solo una parte de la validación del certificado. También debe agregar la validación del tema (es decir, coincide con el tema www.google.com, la URL a la que ha intentado acceder) y verifica el vencimiento y la revocación.

    
respondido por el Steffen Ullrich 04.12.2015 - 07:34
fuente
0
  

¿Por qué están todos reportados? ¿No es una validación suficiente para seguir adelante?   con?

Esto se explica en esta respuesta .

    
respondido por el beroal 10.09.2016 - 14:05
fuente

Lea otras preguntas en las etiquetas