Gere certificado SSL autoassinado para apache

10

Quero criar um certificado autoassinado para o site. O certificado antigo expirou alguns dias atrás. Há mais de um NameVirtualHosts hospedado em sistemas. Os comandos que estou usando para criar certificado são obtidos em um site de tutorial e são:

openssl genrsa -des3 -out server.key 1024
openssl req -new -key server.key -out server.csr 
cp server.key server.key.org
openssl rsa -in server.key.org -out server.key
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

Após isso no arquivo ssl.conf, especifiquei na seção VirtualHost, juntamente com as configurações antigas feitas por outro administrador

SSLEngine on
SSLCertificateFile <full_path>/server.crt
SSLCertificateKeyFile <full_path>/server.key

Ao iniciar o servidor, estou recebendo as seguintes mensagens no arquivo de log e o servidor falha ao iniciar.

No arquivo error_log, as mensagens são

 [Mon Jun 01 23:52:46 2009] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)

No arquivo ssl_error_log, as mensagens são

 [Mon Jun 01 23:52:46 2009] [error] Init: Private key not found
 [Mon Jun 01 23:52:46 2009] [error] SSL Library Error: 218710120 error:0D094068:asn1 encoding routines:d2i_ASN1_SET:bad tag
 [Mon Jun 01 23:52:46 2009] [error] SSL Library Error: 218529960 error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
 [Mon Jun 01 23:52:46 2009] [error] SSL Library Error: 218595386 error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error
 [Mon Jun 01 23:52:46 2009] [error] SSL Library Error: 218734605 error:0D09A00D:asn1 encoding routines:d2i_PrivateKey:ASN1 lib

Eu realmente aprecio se alguém puder explicar como resolver isso. Eu tentei alguns outros sites de tutoriais em certificados SSL autoassinados, mas nenhuma das etapas mencionadas está funcionando.

Saurabh Barjatiya
fonte

Respostas:

21

Use este liner único para gerar o certificado e a chave em um arquivo

openssl req -new -x509 -days 999 -nodes -out apache.pem -keyout apache.pem

Então a única configuração que você precisará é

SSLEngine on
SSLCertificateFile /etc/apache2/apache.pem
hayalci
fonte
Você adiciona média acima SSLEngine linha sobre e SSLCertificateFile / etc / ssh
Rajat
isso é para configuração do apache, não para ssh.
21710 hayalci
1
Esse comando deixará a chave privada limpa no sistema de arquivos, em contraste com o comando original do OP. Omitir a -nodesopção criptografa a chave usando o Triple-DES. (É claro que a senha da chave precisará ser fornecida sempre que o servidor for iniciado.) O reqcomando OpenSSL não suporta a geração de chaves com criptografia mais forte, mas pode usar chaves com criptografia fortemente geradas anteriormente.
Calrion
4

Isso pode parecer um pouco trivial, mas verifique a permissão no seu arquivo .key

Jeff Hengesbach
fonte
+1 Às vezes, as coisas triviais são as menos pensadas.
224 Burkhard
0

Você pode usar openssl req -newkey rsa:1024 -keyout privkey.pempara salvar a chave SSL conforme ela é gerada, caso a geração de chaves não esteja correta.

davenpcj
fonte