CentOS 上的 SSL 密钥问题

CentOS 上的 SSL 密钥问题

当尝试在我的 centos 服务器上安装 SSL 密钥时,apache 拒绝重新启动,并且我在日志中看到以下错误。

[Tue Mar 16 22:32:58 2010] [error] Init: Private key not found
[Tue Mar 16 22:32:58 2010] [error] SSL Library Error: 218710120 error:0D094068:asn1 encoding routines:d2i_ASN1_SET:bad tag
[Tue Mar 16 22:32:58 2010] [error] SSL Library Error: 218529960 error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
[Tue Mar 16 22:32:58 2010] [error] SSL Library Error: 218595386 error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error
[Tue Mar 16 22:32:58 2010] [error] SSL Library Error: 218734605 error:0D09A00D:asn1 encoding routines:d2i_PrivateKey:ASN1 lib

这到底是什么意思?我的 SSL 密钥坏了吗?如果是,将密钥上传到服务器的正确方法是什么?我只是在记事本中打开了 crt 文件,复制了数据并通过 ssh 保存了它。

答案1

查看

SSLCertificateFile

SSLCertificateKeyFile

/etc/http/conf/httpd.conf 中的都指向正确的文件。

检查SSLCertificateKeyFile密钥的所有权是否设置为 root:root 且权限是否设置为 400。

听起来您有 .crt 但没有 .key。

查看Apache SSL 常见问题解答更多细节。

答案2

安装 Apache mod ssl

# yum install mod_ssl

进入 centos 6 中的 certs 文件夹

# cd /etc/ssl/certs/

使用以下 OpenSSL 命令重新生成私钥和 CSR

# openssl req -nodes -newkey rsa:2048 -keyout namhuy_net.key -out namhuy_net.csr

从 Verisign、Thawte、Globalsign、Comodo 获取 CA 根证书。从这些供应商处购买证书后,您将收到一封包含证书文件的电子邮件。将这些文件上传到

/etc/ssl/certs/

将合并的文件保存为 namhuy_net.pem。.pem 文件现在即可使用。

我最终将服务器的配置放在了 Apache 的 SSL 配置文件中。

# nano /etc/httpd/conf.d/ssl.conf

编辑行

SSLEngine on
SSLCertificateFile /etc/ssl/certs/namhuy_net.crt
SSLCertificateKeyFile /etc/ssl/certs/namhuy_net.key
SSLCertificateChainFile /etc/ssl/certs/namhuy_net.pem

重新启动 httpd 服务

# service httpd restart

来源:http://namhuy.net/760/how-to-install-an-ssl-certificate-on-centos-for-apache.html

答案3

已在 REDHAT 和 Centos 中解决,检查您的 Selinux 是否禁用它,然后托盘重新启动 httpd,它将启动而不会出现 ssl 证书丢失错误。

相关内容