Por que estou recebendo incompatibilidades de URL em meu certificado auto-assinado com caractere curinga?

1

Eu estou tentando configurar um certificado curinga auto-assinado para uso pelo Apache, normalmente isso é bastante simples. Eu apenas configurei um nome de subjectalternate com o domínio raiz e especifique * .dcrdev.com no campo de nome comum. No entanto, parece que isso não está funcionando - quando tento acessar o site no chrome ou testo em sslabs, eles relatam incompatibilidades de URL ao acessar qualquer subdomínio como www.dcrdev.com ou subdomain1.dcrdev.com. Não sei por que, quando vejo as informações do certificado no chrome, ele mostra o nome comum como * .dcrdev.com.

Meu csr:

Certificate Request:
    Data:
        Version: 0 (0x0)
        Subject: C=GB, ST=South Yorkshire, L=Sheffield, O=DCR Holdings, OU=DCR Development, CN=*.dcrdev.com/[email protected]
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (4096 bit)
                Modulus:
                lah blah

Meu certificado:

Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number: 1048577 (0x100001)
    Signature Algorithm: sha256WithRSAEncryption
        Issuer: C=GB, ST=South Yorkshire, L=Sheffield, O=DCR Holdings, OU=DCR Root Authority, CN=*.dcrdev.com/[email protected]
        Validity
            Not Before: Oct 13 23:41:03 2015 GMT
            Not After : Oct 10 23:41:03 2025 GMT
        Subject: C=GB, ST=South Yorkshire, L=Sheffield, O=DCR Holdings, OU=DCR Development, CN=*.dcrdev.com/[email protected]
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (4096 bit)
                Modulus:
               Blah blah
                Exponent: 65537 (0x10001)
        X509v3 extensions:
            X509v3 Basic Constraints: 
                CA:FALSE
            Netscape Comment: 
                OpenSSL Generated Certificate
            X509v3 Subject Key Identifier: 
                83:2D:84:F1:E2:B0:72:30:E6:3B:6A:F6:8E:6A:68:8E:3F:D4:69:44
            X509v3 Authority Key Identifier: 
                keyid:F5:A6:82:E2:DD:52:10:CE:FD:C5:C7:E1:E9:CF:C6:8C:30:26:D7:DC

            X509v3 Subject Alternative Name: 
                DNS:dcrdev.com
            X509v3 Key Usage: 
                Digital Signature, Non Repudiation, Key Encipherment
    Signature Algorithm: sha256WithRSAEncryption
        Blah blah
    
por dcrdev 14.10.2015 / 02:22

1 resposta

5

Crossdupe de link .

Nome comum do assunto não está mais controlando certificados HTTPS.

AFAICT não existe um padrão dizendo isso, mas a prática há alguns anos é que os navegadores etc. usam a extensão SubjectAlternativeName (SAN) se ela estiver presente e CommonName (CN) no Assunto somente se a SAN estiver ausente. Seu certificado tem SAN presente com dcrdev.com , portanto, apenas isso corresponde.

update: encontrada em RFC2818 3.1 :

If a subjectAltName extension of type dNSName is present, that MUST be used as the identity. Otherwise, the (most specific) Common Name field in the Subject field of the certificate MUST be used. Although the use of the Common Name is existing practice, it is deprecated and Certification Authorities are encouraged to use the dNSName instead.

Esse RFC foi em maio de 2000, mas para minha lembrança os certificados que encontrei não começaram a usar SAN até mais perto de 2010. O mais recente março de 2011 RFC6125 identificado por @JennyD (funciona no corpo da resposta?) é um tratamento mais geral, mas diz explicitamente

This document also does not supersede the rules for verifying service identity provided in specifications for existing application protocols published prior to this document, such as those excerpted under Appendix B.

e o apêndice B inclui o RFC2818.

Os requisitos de linha de base do fórum do CA-Browser dizem que as CAs devem emitir certificados com a SAN enquanto o Subject.CN é obsoleto, embora isso não seja um requisito direto em navegadores / clientes.

Se você quiser usar o domínio e os subdomínios (apenas um nível), insira duas entradas dnsName na SAN, uma para dcrdev.com e outra para *.dcrdev.com .

    
por 14.10.2015 / 06:59