Generar certificado SSL autofirmado para apache


10

Quiero crear un certificado autofirmado para el sitio web. El antiguo certificado expiró hace unos días. Hay más de un NameVirtualHosts alojado en sistemas. Los comandos que estoy usando para crear el certificado se toman de un sitio web tutorial y son:

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

Después de esto en el archivo ssl.conf que he especificado en la sección VirtualHost junto con la configuración anterior realizada por otro administrador

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

Al iniciar el servidor, recibo los siguientes mensajes en el archivo de registro y el servidor no se inicia.

En el archivo error_log los mensajes son

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

En el archivo ssl_error_log los mensajes son

 [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

Realmente agradecería si alguien puede explicar cómo resolver esto. He probado algunos otros sitios web de tutoriales sobre certificados SSL autofirmados, pero ninguno de los pasos que mencionan funciona.

Respuestas:


21

Use este forro para generar el certificado y la clave en un archivo

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

Entonces la única configuración que necesitará es

SSLEngine on
SSLCertificateFile /etc/apache2/apache.pem

te refieres a agregar sslengine en la línea anterior y sslcertificatefile / etc / ssh
Rajat

esto es para la configuración de apache, no ssh.
hayalci

1
Ese comando dejará la clave privada en claro en el sistema de archivos, en contraste con el comando original del OP. Omitir la -nodesopción encripta la clave usando Triple-DES. (La frase de contraseña de la clave, por supuesto, deberá proporcionarse cada vez que se inicie el servidor). El reqcomando OpenSSL no admite la generación de claves más fuertemente cifradas, pero puede utilizar claves previamente altamente cifradas.
Calrion

4

Esto puede parecer un poco trivial, pero verifique el permiso en su archivo .key


+1 A veces las cosas triviales son las menos pensadas.
Burkhard

0

Puede usar openssl req -newkey rsa:1024 -keyout privkey.pempara guardar la clave SSL a medida que se genera, en caso de que la generación de la clave no sea correcta.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.