Cómo detectar si el certificado X.509 pertenece a CA o usuario final regular (host)

0

Si entiendo correctamente en la validación de autenticidad de SSL / TLS, hay 2 (quizás más) tipos de certificados de acuerdo con lo siguiente:

  • los que pertenecen a CA (estos contienen la clave pública que se usa para verificar otros certificados)
  • los que pertenecen a usuarios finales (hosts) (estos contienen la clave pública que se usa para cifrar el canal entre el cliente TLS y el servidor TLS)

¿Es correcto y cómo detectar de qué tipo es el certificado cuando se presenta?

NOTA: Estoy comprobando con wireshark. El servidor me presentó 2 certificados, uno para su nombre de dominio y otro para su CA. Creo que tengo que marcar el campo extensiones , probablemente id-ce-basicConstraint o id-ce-keyUsage .

    
pregunta croraf 01.11.2018 - 08:51
fuente

2 respuestas

2

Por lo tanto, hay algunas maneras de saberlo (sin ningún orden en particular):

  • Restricciones básicas: puede identificar un certificado como perteneciente a una CA o una entidad final.
  • Uso de claves: los certificados de CA serán válidos para el certificado y (generalmente) la firma de CRL, y (generalmente) no para el cifrado de claves. La información mejorada sobre el uso de la clave puede o no ser útil aquí.
  • Nombre del sujeto: los certificados de entidad final identificarán una entidad final (como un nombre de dominio, dirección de correo electrónico, etc.), mientras que los certificados de CA identificarán una CA. Si bien técnicamente no hay nada que impida que una CA use un certificado con un nombre de dominio o similar como su campo de nombre común, en la práctica nunca esperaría ver uno.
  • Comprobación de la cadena de firmas: los certificados de CA raíz son autofirmados y deben encontrarse en su almacén de confianza (la mayoría de los servidores web no los envían ellos mismos); los certificados de CA intermedios deben estar firmados por certificados de CA raíz o certificados de CA intermedios, y los certificados de entidad final casi siempre están firmados por certificados de CA intermedios, y no han firmado ningún certificado por sí mismos. En la situación que describe (al ver dos certificados en Wireshark), puede estar bastante seguro de que el que firmó el otro es un certificado CA y el que se firmó es el certificado de entidad final.
respondido por el CBHacking 01.11.2018 - 10:03
fuente
1

Los certificados CA deben contener el cA Flag con el valor true en el Basic Constraints extension . Consulte también esta pregunta

    
respondido por el phl 01.11.2018 - 10:19
fuente

Lea otras preguntas en las etiquetas