Suponiendo que el Nombre Alternativo del Sujeto (SAN) de propiedad de un certificado SSL contiene dos nombres DNS

  1. domain.tld
  2. host.domain.tld

pero el Nombre Común (CN) es sólo uno de los dos: CN=domain.tld.

  • Tiene esta configuración un significado especial, o cualquier [dis]ventajas con respecto a la configuración tanto del Snc?
  • Lo que sucede en el lado del servidor si el otro, host.domain.tld, se solicita?

EDICIÓN:

Como recientemente se enteró por Eugenio respuesta, en el que el comportamiento es diferente según la aplicación, quiero ser más específico: ¿cómo OpenSSL 0.9.8 b+ manejar la situación?

3 Comentarios

  1. 71

    Esto depende de la aplicación, pero la regla general es que el dominio está marcada en contra de todos los SANs y el nombre común. Si el dominio se encuentra allí, entonces el certificado es correcto para la conexión.

    RFC 5280, sección 4.1.2.6 dice «El nombre del sujeto PUEDE ser llevado en el tema de campo y/o en la extensión subjectAltName». Esto significa que el nombre de dominio debe ser revisado, tanto en contra de extensión SubjectAltName y la propiedad en cuestión (es decir, es común que el nombre de parámetro) del certificado. Estos dos lugares se complementan el uno al otro, y no duplicarla. Y SubjectAltName es un lugar adecuado para poner otros nombres, tales como www.domain.com o www2.domain.com

    Actualización: como por RFC 6125, publicado en ‘2011, el validador debe comprobar SAN primeros, y si SAN existe, entonces CN no debe ser comprobado. Tenga en cuenta, que el RFC 6125 es relativamente reciente y aún existen los certificados y de las entidades emisoras que emiten certificados, que incluyen el «principal» del nombre de dominio en CN y nombres de dominio alternativos en SAN. I. e. mediante la exclusión de la CN de validación si SAN está presente, no se puede negar que algunos de lo contrario certificado válido.

    • Es este corto circuito en general? Quiero decir, SANs son revisados siempre de primera y si la encuentra, el CN no es que se comprueba en todos los?
    • Voy a actualizar la respuesta.
    • gracias por arrojar luz en el asunto ^^
    • Si usted está tratando con IE, parece ignorar el CN si la extensión subjectAltName está presente. Yo he visto ambos IE10 y IE8 se quejan de que no coinciden nombre en casos como ese.
    • Creo que esto depende de la versión del backend de la biblioteca que hace la validación de certificados (CryptoAPI módulos), en lugar de en IE sí mismo.
    • Este es incorrecta con respecto a los certificados SSL. Por favor, consulte este la respuesta para más detalles. TL;DR RFC 5280 es sólo en general para PKI estructuras. RFC2818 y RFC5216 (HTTPS) afirma que si el SAN está presente, entonces DEBE ser utilizado para la identidad.
    • No veo cómo 5216 está relacionado con HTTPS. Como para el sistema nervioso central — por desgracia para los estándares existen CAs que poner uno de los nombres a CN y otro para la SAN. I. e. mientras que usted está teóricamente correcta, prácticamente su enfoque conducirá a la emisión de certificados de no ser aceptadas por el cliente, y este no es siempre el deseado. Así, el validador debe verificar tanto para garantizar la compatibilidad.
    • También si usted consulte RFC 6125, es la fecha de Marzo de 2011 y la pregunta en sí misma es de fecha de Mayo de 2011. En el momento de escribir había un montón de certificados no es compatible con RFC 6125.
    • Mayevski ‘EldoS Corp Sí, lo siento RFC5216 no es para HTTPS, les tiene confundido. Independientemente de Chrome ahora lanzan ERR_CERT_COMMON_NAME_INVALID error, puesto que utiliza el SAN exclusivamente (si está presente).
    • Y ahora, oficialmente, Chrome no revise el atributo CN más. Mi pensamiento es, quizás, los campos deben coincidir con la función dentro de la cert un poco mejor. chromestatus.com/feature/4981025180483584

  2. 42

    A ser absolutamente correcto, debe poner todos los nombres en el campo SAN.

    La CN de campo debe contener el Nombre de un Sujeto, no un nombre de dominio, pero cuando el Netscape enteré de esto SSL cosa, perdió para definir su mayor mercado.
    Simplemente no hay certificado de campo definido para la dirección URL del Servidor.

    Esto fue resuelto a poner el dominio en el CN de campo, y hoy en día el uso de la CN de campo está en desuso, pero todavía se utiliza ampliamente.
    El CN sólo puede tener un nombre de dominio.

    Las normas generales de este:
    CN – poner aquí la URL principal (por compatibilidad)
    SAN – poner todo su dominio aquí, repita la CN, ya que no en el lugar correcto allí, pero se usa para que…

    Si has encontrado una aplicación correcta, las respuestas para sus preguntas serán las siguientes:

    • Tiene esta configuración un significado especial, o cualquier [dis]ventajas con respecto a la configuración tanto del Snc?
      Usted no puede fijar tanto Snc, porque CN sólo puede tener un nombre.
      Se puede hacer con 2 simples CN certificado en lugar de uno CN+certificado de SAN, pero necesita 2 direcciones IP para este.

    • Lo que sucede en el lado del servidor si el otro host.dominio.tld, se solicita?
      No importa qué suceda en el lado del servidor.

    En corto:
    Cuando un navegador cliente se conecta a este servidor, el navegador envía cifrado de los paquetes, que se cifra con la clave pública del servidor. Servidor descifra el paquete, y si el servidor lo puede descifrar, entonces fue cifrada por el servidor.

    El servidor no sabe nada de el cliente antes de descifrar, porque sólo la dirección IP no está cifrada a través de la conexión. Esta es la razón por la que usted necesita 2 IPs para 2 certificados. (Olvídese de la SNI, hay demasiada XP por ahí todavía ahora).

    Del lado del cliente que el navegador recibe la CN, entonces el SAN hasta que todos los que se comprueban.
    Si uno de los nombres de los partidos para el sitio, a continuación, la dirección URL de verificación fue realizada por el navegador.
    (no estoy hablando en el certificado de verificación, por supuesto, un montón de ocsp, crl, aia solicitud y respuestas de viajes en la red cada vez.)

  3. 10

    CABForum Requisitos Básicos

    Veo que nadie ha mencionado la sección en la línea de base de los Requisitos todavía. Creo que son importantes.

    P: SSL – Cómo hacer un nombre Común (CN) y de Nombres Alternativos del Sujeto (SAN) trabajar juntos?

    Un: No en todos. Si hay SANs, entonces CN puede ser ignorado. – Al menos si el software que hace la comprobación se adhiere estrictamente a la CABForum línea de base de los Requisitos.

    (Así que esto significa que no puede responder a la «Editar» a la pregunta. Sólo la pregunta original.)

    CABForum Requisitos básicos, v. 1.2.5 (como de 2 de abril de 2015), en la página 9-10:

    9.2.2 Sujeto De Nombre Completo De Los Campos De

    una. Sujeto Campo De Nombre Común

    Certificado de Campo: tema:commonName (OID 2.5.4.3)

    Obligatoria/Opcional: Obsoleto (Desanimado, pero no prohibido)

    Contenido: Si está presente, este campo DEBE contener una única dirección IP o Nombre de Dominio Totalmente Cualificado, que es uno de los valores contenidos en el Certificado de la extensión subjectAltName (consulte la Sección 9.2.1).

    EDICIÓN: Enlaces de @Bruno comentario

    RFC 2818: HTTP Sobre TLS, 2000, Sección 3.1: La Identidad Del Servidor:

    Si una extensión subjectAltName de tipo dNSName está presente, que DEBE
    se utiliza como la identidad. De lo contrario, el (más específicos) Nombre Común
    campo en el campo Subject del certificado DEBE ser utilizado. Aunque
    el uso del Nombre Común es la práctica existente, que está obsoleto y
    Las Autoridades de certificación se les anima a utilizar la dNSName lugar.

    RFC 6125: Representación y Verificación de Dominio Basado en el Servicio de la Aplicación
    Identidad dentro de Internet Infraestructura de Clave Pública Mediante X. 509 (PKIX)
    Los certificados en el Contexto de Seguridad de Capa de Transporte (TLS)
    , 2011, Sección 6.4.4: Comprobación de Nombres Comunes:

    […] si y sólo si los identificadores de no incluir un
    DNS-ID, SRV-ID, URI-ID, o cualquier aplicación específica de los tipos de identificador
    soportados por el cliente, entonces el cliente PUEDE, como una última instancia de verificación
    para una cadena cuya forma coincide con la de un completo dominio DNS
    nombre en un campo de Nombre Común de la asignatura de campo (es decir, un CN-ID).

    • Este CABForum Requisito básico de la regla no es muy útil técnicamente. Sólo le dice lo que debe poner en el CN, pero ciertamente no significa que la CN se utiliza para la verificación de todos modos. Tiene sentido tener la CN a ser uno de los SANs, pero eso es sobre todo útil para herramientas y para fines administrativos (o en contra de la implementación que están demasiado relajados). Desde un punto de verificación de vista, RFC 2818 («Si una extensión subjectAltName de tipo dNSName está presente, que DEBE ser utilizado como la identidad«), e incluso RFC 6125, en gran parte son anteriores a esa especificación, y que en particular la regla sigue siendo válida en tanto.
    • Verdadero. Gracias. He incluido enlaces y citas

Dejar respuesta

Please enter your comment!
Please enter your name here