Possui um certificado SSL legítimo, mas não consigo instalá-lo

2

Estou executando um servidor Ubuntu 10.04 LTS que está executando o Apache2 com um certificado auto-assinado até agora. Eu finalmente comprei um certificado real, mas não consigo instalá-lo. Eu recebi três arquivos do provedor:

AddTrustExternalCARoot.crt
mynewdomain_com.crt
PositiveSSLCA2.crt

Atualmente, em meus sites habilitados / ssl, tenho isso para meu certificado autoassinado:

    SSLEngine On
    SSLCertificateFile /etc/apache2/ssl/cert.pem

Então eu pesquisei como converter arquivos crt em pem e isso parece ser uma concatenação de todos os arquivos crt. Este é o guia que eu achei que correspondia principalmente ao que eu estou usando (estou usando namecheap para o meu DNS agora). Então eu criei meu novo arquivo pem e apontei minha configuração para ele. Quando eu corro

service apache2 restart

o daemon falha ao iniciar. Eu percebi que devo ter colocado os crts na ordem errada, mas ainda não começou. O que estou fazendo de errado? Como posso usar meu novo certificado?

Quanto aos arquivos de chave, eu criei um chamado server.key (que foi usado para criar meu csr). Agora ele reside em /etc/apache2/server.key

Ao iniciar o apache, recebo esses erros:

[Sat Mar 17 13:44:43 2012] [warn] RSA server certificate is a CA certificate  (BasicConstraints: CA == TRUE !?)
[Sat Mar 17 13:44:43 2012] [warn] RSA server certificate CommonName (CN) 'PositiveSSL CA 2' does NOT match server name!?
[Sat Mar 17 13:44:43 2012] [error] Unable to configure RSA server private key
[Sat Mar 17 13:44:43 2012] [error] SSL Library Error: 185073780 error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch
    
por CountMurphy 17.03.2012 / 21:20

3 respostas

4

Você pode fornecer informações sobre como você gerou o certificado?

Você não tem a chave privada (provavelmente um arquivo .key ) que foi usado para gerar o arquivo .csr que você enviou para a autoridade de certificação. Essa chave privada específica é necessária para que o Apache possa usar a chave pública que você recebeu.

Editar:

Com esse arquivo de chave, você precisará de algo assim adicionado à sua configuração:

SSLCertificateKeyFile /etc/apache2/server.key

Certifique-se de que o arquivo esteja configurado para um modo de permissão, onde não seja possível visualizar tudo no servidor. O modo 600 deve ser bom.

Se não for iniciado depois de adicionado, deixe-me saber quais erros surgem (no console ou no log de erros do Apache).

Com os arquivos .crt que você conseguiu concatenar juntos, seu servidor Apache deve enviar cadeias completas de certificados corretamente; você pode verificar se está funcionando com openssl s_client -connect localhost:443 -showcerts .

    
por 17.03.2012 / 21:26
1

RSA server certificate is a CA certificate significa que você especificou o certificado da CA como arquivo de certificado, não o seu (que foi assinado pela CA).

Você pode tentar substituir o caminho para SSLCertificateFile para crt que foi assinado pela CA, e não para o certificado CA.

Atualização: uma explicação mais detalhada:

Você deve ter 3 arquivos:

  1. Chave secreta (geralmente algo com extensão .key). Este é o mais importante. Você deve manter isso em segredo e nunca enviar para ninguém. Este arquivo é realmente usado para criptografar dados. Você deve especificar o caminho para este arquivo na diretiva SSLCertificateKeyFile .

  2. Certificado da sua CA. Este é um certificado público de autoridade que você usou para assinar sua chave pública. Você deve especificar o caminho para este arquivo na diretiva SSLCACertificateFile .

  3. Chave pública assinada. Esta é uma parte pública de sua chave que você extraiu do arquivo-chave (em forma de solicitação de certificado) e envia para a CA para assinatura. Você deve especificar o caminho para este arquivo na diretiva SSLCertificateFile .

por 17.03.2012 / 22:19
0

Eu nunca solicitei um certificado de uma CA "real", nos meus testes também criei a CA.

Mas, em apache2 config, eu também configurei em qual caminho é o certificado CA, você pode verificar isso, apenas no caso.

    
por 17.03.2012 / 22:03