Genera certificato SSL autofirmato per apache


10

Voglio creare un certificato autofirmato per il sito Web. Il vecchio certificato è scaduto pochi giorni fa. Esistono più nomi NameVirtualHosts ospitati su sistemi. I comandi che sto usando per creare il certificato sono presi da un sito web tutorial e sono:

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

Dopo questo nel file ssl.conf ho specificato nella sezione VirtualHost insieme alle vecchie impostazioni fatte da altri amministratori

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

All'avvio del server ricevo i seguenti messaggi nel file di registro e il server non si avvia.

In error_log i messaggi del file sono

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

Nel file ssl_error_log i messaggi sono

 [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

Gradirei davvero se qualcuno potesse spiegare come risolverlo. Ho provato alcuni altri siti Web tutorial su certificati SSL autofirmati, ma nessuno dei passaggi citati funziona.

Risposte:


21

Utilizzare questo liner per generare il certificato e la chiave in un file

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

Quindi l'unica configurazione di cui hai bisogno è

SSLEngine on
SSLCertificateFile /etc/apache2/apache.pem

intendi aggiungere sopra la riga sslengine on e sslcertificatefile / etc / ssh
Rajat

questo è per la configurazione di Apache, non per ssh.
hayalci,

1
Tale comando lascerà la chiave privata in chiaro sul file system, in contrasto con il comando originale dell'OP. Se si omette l' -nodesopzione, crittografare la chiave utilizzando Triple-DES. (La passphrase della chiave dovrà ovviamente essere fornita ogni volta che viene avviato il server.) Il reqcomando OpenSSL non supporta la generazione di chiavi con crittografia avanzata, ma può utilizzare chiavi con crittografia avanzata generate in precedenza.
Calrion,

4

Questo può sembrare un po 'banale, ma controlla l'autorizzazione sul tuo file .key


+1 A volte le cose banali sono le meno pensate.
Burkhard,

0

È possibile utilizzare openssl req -newkey rsa:1024 -keyout privkey.pemper salvare la chiave SSL mentre viene generata, nel caso in cui la generazione della chiave non sia corretta.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.