Estou executando o apache no Ubuntu 14.04 e tentando implementar o SSL. Qualquer ajuda seria muito apreciada.
O default-ssl.conf possui:
SSLCertificateFile /etc/apache2/ssl/domain.crt
SSLCertificateKeyFile /etc/apache2/ssl/domain.csr
Quando eu reinicio o apache, a mensagem de erro em /var/log/apache2/error.log é:
[Sun Feb 01 19:31:06.443226 2015] [ssl:error] [pid 30927] AH02203: Init: Private key not found
[Sun Feb 01 19:31:06.443408 2015] [ssl:error] [pid 30927] SSL Library Error: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
[Sun Feb 01 19:31:06.443424 2015] [ssl:error] [pid 30927] SSL Library Error: error:0D08303A:asn1 encoding routines:ASN1_TEMPLATE_NOEXP_D2I:nested asn1 er$
[Sun Feb 01 19:31:06.443435 2015] [ssl:error] [pid 30927] SSL Library Error: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
[Sun Feb 01 19:31:06.443447 2015] [ssl:error] [pid 30927] SSL Library Error: error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error (Ty$
[Sun Feb 01 19:31:06.443458 2015] [ssl:error] [pid 30927] SSL Library Error: error:04093004:rsa routines:OLD_RSA_PRIV_DECODE:RSA lib
[Sun Feb 01 19:31:06.443468 2015] [ssl:error] [pid 30927] SSL Library Error: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
[Sun Feb 01 19:31:06.443479 2015] [ssl:error] [pid 30927] SSL Library Error: error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error (Ty$
[Sun Feb 01 19:31:06.443487 2015] [ssl:emerg] [pid 30927] AH02311: Fatal error initialising mod_ssl, exiting. See /var/log/apache2/error.log for more inf$
apache-2.2
ubuntu
ssl
mikesynan
fonte
fonte
Respostas:
AVISO: Nunca publique sua chave privada na Internet. Nem copie para outro computador, estação de trabalho, etc. Ele deve ser mantido o mais privado possível.
SSLCertificateKeyFile requer uma chave privada. Essa chave geralmente é gerada antes do CSR ou ao mesmo tempo. Procure um arquivo que comece com uma linha que contém:
BEGIN PRIVATE KEY
O CSR (pedido de assinatura de certificado) é necessário apenas quando você solicita a assinatura do certificado. Depois disso, você pode descartá-lo.
Se você perdeu a Chave Privada, precisará gerar uma nova Chave Privada, gere um novo CSR e peça à CA (autoridade de certificação) para assinar o CSR novamente.
fonte
Aqui está o problema:
Você coloca seu arquivo de solicitação de assinatura de certificado (CSR) aqui por engano. Você deve colocar lá o arquivo de chave privada usado para gerar o CSR. Esse arquivo de chave privada não deve ser protegido por senha; caso contrário, você precisará digitar uma senha toda vez que (re) iniciar o Apache.
Para o benefício de gerações vindouras, aqui está um breve resumo de como gerar CSR-s com OpenSSL (um bom tutorial está disponível na documentação do Ubuntu ):
1) Gere a chave do servidor:
Isso requer que você especifique uma senha.
2) Criando uma chave privada sem senha, digite a senha usada acima quando solicitado:
3) Gere o CSR com sua chave privada sem senha:
onde "mydomain.org" pode ser seu domínio. Você tem que responder algumas perguntas interativamente. Quando terminar, envie o
mydomain.org.csr
arquivo para sua autoridade de certificação. Você receberá um*.crt
arquivo ou um*.pem
arquivo. Vamos supor que eles te derammydomain.org.crt
. Instale-o como seu certificado e o arquivo de chave sem senha como sua chave (os locais são válidos para o Ubuntu 14.04, eles podem estar em outro lugar em outros sistemas, consulte os documentos do Apache2):E finalmente edite a configuração do Apache2 (poderia ser
default-ssl.conf
):Espero que isto ajude.
fonte
Sei que alguém já respondeu a essa pergunta, mas queria que outras pessoas soubessem o que aconteceu comigo quando recebi esse erro.
Na minha causa, por engano, tive SSLCertificateFile em vez de SSLCertificateChainFile para meu pacote configurável. Esse erro continuava aparecendo e estava me dando um loop. Fiquei pensando que minha chave privada estava errada.
fonte
Eu sei que este post é antigo, mas achei que eu deveria adicionar mais, já que este é o primeiro link em uma pesquisa no Google sobre o erro - "Init: chave privada não encontrada"
Eu já vi isso acontecer antes e acabou sendo uma chave privada ruim. Usei o strace para rastrear a última chave privada que o apache tentou carregar. Depois que eu o removi do diretório ssl e do httpd.conf, o Apache foi reiniciado sem problemas.
Chave SSL inválida: -rw-r ----- 1 raiz 754974732 1,7K 31 de maio de 1987 /var/cpanel/ssl/installed/keys/c129e_4ed23_b7c0d7f821952179fc8006506ab06b72.key
Ambiente: SO: CentSO 6.9 Painel de controle: cPanel 11.64 Apache versão 2.2
tl;dr: Find the bad private key that Apache is trying to load and backup it up and remove it from Apache's configuration file.
Eu espero que isso ajude!
fonte
code
. Obrigado por contribuir.Eu estava girando minhas rodas nessa por um tempo, mas verifique se você tem um arquivo de chave privada completo. Acontece que eu tinha algumas linhas faltando nas minhas.
O comando para verificar sua chave privada é:
substitua /etc/httpd/certs/server.key pelo caminho completo para a chave privada do seu servidor e, se estiver tudo bem, você verá:
Espero que ajude alguém e btw, meu servidor foi o CentOS 7.6 com Apache / 2.4.6
fonte