De onde veio esse certificado SSL curinga?

2

Minha empresa está hospedando example.com e sub.example.com no mesmo servidor, usando um certificado SSL curinga para * .example.com. Agora é hora de renovar nosso certificado e não temos certeza de como obtivemos esse certificado. Meu chefe não acha que pagamos os US $ 200 que parecem custar. Meu antigo gerente (que deixou a empresa há alguns dias) foi o único a instalá-lo, e ele não se lembra exatamente o que ele fez, mas ele acha que teve que gerar algo em vez de apenas usar os arquivos que recebemos da CA .

A configuração do apache tem essas linhas e nenhuma outra linha de arquivos SSL * com comentário:

SSLCertificateFile /usr/local/ssl/cert/example.com.crt
SSLCACertificateFile /usr/local/ssl/cert/intermediate.crt
SSLCertificateKeyFile /usr/local/ssl/private/example.com-wild.key

Quando eu examino intermediate.crt ( openssl x509 -in intermediate.crt -text -noout ), ele não menciona nossa organização ou site, e é válido em 2010-2020.

Data:
    Version: 3 (0x2)
    Serial Number: 145105 (0x236d1)
    Signature Algorithm: sha1WithRSAEncryption
    Issuer: C=US, O=GeoTrust Inc., CN=GeoTrust Global CA
    Validity
        Not Before: Feb 19 22:45:05 2010 GMT
        Not After : Feb 18 22:45:05 2020 GMT
    Subject: C=US, O=GeoTrust, Inc., CN=RapidSSL CAb

example.com.crt é o curinga:

Data:
    Version: 3 (0x2)
    Serial Number: 1113972 (0x10ff74)
    Signature Algorithm: sha1WithRSAEncryption
    Issuer: C=US, O=GeoTrust, Inc., CN=RapidSSL CA
    Validity
        Not Before: Mar  1 09:05:39 2014 GMT
        Not After : Mar  4 09:08:54 2015 GMT
    Subject: serialNumber=T0nuTvfeaQVtd3dZ30zGI94HrvUsoRjx, OU=GT53409919, OU=See www.rapidssl.com/resources/cps (c)14, OU=Domain Control Validated - RapidSSL(R), CN=*.example.com

Eu não entendo a infraestrutura SSL, então acho que tenho várias perguntas relacionadas. Peço desculpas se eles não estiverem relacionados; Eu não sei o que não sei.

  • Como obtivemos o certificado curinga, se não pagamos US $ 200 ou o que for para ele? (Eu ficaria moderadamente surpreso se pudéssemos criá-lo com apenas intermediate.crt, porque então poderíamos continuar gerando-os até 2020. Mas não há outros arquivos em / usr / local / ssl e nada em / etc / pki / tls que foi modificado desde 2013, então o que mais nós teríamos usado? Eu também ficaria moderadamente surpreso se meu chefe estivesse apenas se esquecendo de mim e pagássemos US $ 200 ou algo assim, mas isso parece possível para mim.)

  • Onde obtivemos intermedia.crt?

  • O que faz o intermedia.crt? Eu tenho um certificado curinga auto-assinado que funciona bem (exceto que é auto-assinado) em nossos servidores beta, sem nenhuma linha SSLCACertificateFile; e nós compramos um certificado não-curinga que protege example.com que eu consegui instalar usando VirtualHost sem SSLCACertificateFile, e estamos no processo de obter um certificado para sub.example.com que estou planejando para instalar da mesma maneira. O SSLCACertificateFile é necessário para certificados curinga não auto-assinados?

    A maneira como geramos o certificado auto-assinado parece que pode estar relacionada:

    openssl req -nodes -new -keyout private/example.com.key -out certs/intermediate.csr
    openssl x509 -req -days 365 -in certs/intermediate.csr -signkey private/file.key -out certs/example.com.crt
    

    mas eu não preciso mencionar o intermediate.csr na configuração do apache neste caso, e o intermediate.csr não pode ser examinado por openssl x509 como o arquivo intermediate.crt pode.

por philh 04.03.2015 / 18:04

2 respostas

2
How did we get the wildcard certificate, if we didn't pay $200 or whatever for it?

Uma CA mais barata do que você encontrou agora? Tenho certeza de que você encontrará um revendedor com preços mais baixos.

Where did we get intermediate.crt? What does intermediate.crt do?

Você tem a sua CA. As CAs geralmente não assinam certificados diretamente com seus certificados raiz, mas fazem isso por meio de um certificado intermediário. Esse certificado intermediário assina os certificados para o cliente e, por sua vez, é assinado pelo certificado raiz, que é de confiança dos navegadores e do sistema operacional. Isso é chamado de cadeia de certificados e também o motivo pelo qual existe um parâmetro separado para o Apache SSLCACertificateFile para fornecer essa cadeia do site cert para o CA cert.

I have a self-signed wildcard certificate that works fine (except that it's self-signed) on our beta servers, with no SSLCACertificateFile line;

Em seguida, o navegador testado também confia no certificado intermediário, mas você não pode confiar nele. Você também pode usar a ferramenta SSLLabs ssltest para verificar se sua cadeia pode estar incompleta ou ausente em um intermediário (chamado download extra lá).

Is the SSLCACertificateFile needed for non-self-signed wildcard certificates?

Não, porque não há cadeia de certificados neste caso, veja acima.

    
por 04.03.2015 / 20:32
1

Parece bastante claro, com base nos detalhes do seu certificado e no intermediário, que o seu antigo gerente realmente pagou o custo de um certificado curinga da RapidSSL um ano atrás. O que ele precisou gerar provavelmente foi o pedido de certificado para enviar ao RapidSSL.

    
por 04.03.2015 / 18:44