为apache生成自签名的SSL证书

我想为网站创build自签名证书。 旧证书前几天过期了。 系统上有多个NameVirtualHosts托pipe。 我用来创build证书的命令来自一个教程网站,它们是:

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 

在ssl.conf文件中,我已经在VirtualHost部分下指定了其他pipe理员完成的旧设置

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

在启动服务器时,我收到日志文件中的消息,服务器无法启动。

在error_log文件中有消息

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

在ssl_error_log文件中有消息

  [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 

如果有人能解释如何解决这个问题,我将不胜感激。 我已经尝试了一些其他教程网站上自签名的SSL证书,但他们提到的步骤都没有工作。

使用这一个class轮生成证书和密钥在一个文件中

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

那么你需要的唯一configuration是

 SSLEngine on SSLCertificateFile /etc/apache2/apache.pem 

这可能看起来有些微不足道,但请检查.key文件的权限

您可以使用openssl req -newkey rsa:1024 -keyout privkey.pem来保存生成的SSL密钥,以防密钥生成不正确。