¿Es obligatorio el nombre común para los certificados digitales?

8

Estoy trabajando en un proyecto, donde usamos Common Name como identificador básico de un certificado. Sin embargo, la importación de certificados sin el nombre común falla.

¿Cuál es la forma predeterminada de usar certificados digitales? ¿Qué identificador debemos elegir para poder importarlos?

    
pregunta Rahulmishra72 10.04.2014 - 16:18
fuente

2 respuestas

7

En lo que respecta a X.509 , el nombre común no es obligatorio. Sin embargo, varios sistemas utilizarán el CN para fines de visualización, por ejemplo. la mayoría de los "administradores de certificados" GUI en Windows. Por lo tanto, se recomienda, aunque solo sea por facilidad de las tareas de administrador del sistema, incluir CN razonablemente precisa en los certificados.

Si desea, desde una aplicación, identificar un certificado específico, entonces el buen identificador a utilizar es la "huella digital", que realmente es un hash del certificado. Mientras la función hash sea resistente a la colisión (Microsoft usa SHA-1, que aún es bastante robusta en este aspecto), no habrá dos certificados distintos que muestren la misma huella digital.

El método "estándar X.509" para hacer referencia a un certificado específico es usar el par issuerDN + número de serie . Solo la combinación de ambos valores es (supuestamente) única; Los números de serie solos no lo cortan. Tenga en cuenta que estoy hablando del nombre del emisor , no del asunto ; y esto es todo el DN, no solo la parte de CN. Además, se permite que un certificado tenga un issuerDN vacío siempre que también contenga una extensión Issuer Alt Name con el DN completo. Esto significa que usar correctamente el par de emisor + serie puede ser algo complejo. La huella digital es más fácil.

    
respondido por el Thomas Pornin 10.04.2014 - 16:39
fuente
2

En el caso del protocolo HTTPS, Common Name también puede ser utilizado por algunas de las aplicaciones cliente para verificar la identidad del servidor. El RFC 2818 dice lo siguiente sobre la identidad del servidor:

  

Si una extensión subjectAltName de tipo dNSName está presente, DEBE estar   Utilizado como la identidad. De lo contrario, el campo Nombre común (el más específico)   DEBE usarse en el campo Asunto del certificado. Aunque el uso   del nombre común es una práctica existente, está en desuso y   Se recomienda a las autoridades de certificación que usen el dNSName en su lugar.

Esto significa que, en el caso del protocolo HTTPS, los servidores deben utilizar subjectAltName como la fuente principal del identificador y admitir el Common Name para la compatibilidad con versiones anteriores.

    
respondido por el Rahil Arora 10.04.2014 - 18:36
fuente

Lea otras preguntas en las etiquetas