使用 Apache 设置 SSL 证书

使用 Apache 设置 SSL 证书

我正在尝试为 Windows 上的 Apache 服务器创建自己的 CA 和服务器证书。

每当我启动 apache 时都会出现“无法配置 CA 证书链!”

apache ssl conf 设置是:

SSLProtocol -all +SSLv2
SSLCipherSuite SSLv2:+HIGH:+MEDIUM:+LOW:+EXP

SSLCertificateFile "C:/data/server/server.crt"
SSLCertificateKeyFile "c:/data/server/server.key"
SSLCertificateChainFile "c:/data/server/ca.crt"
SSLCACertificateFile "c:/data/server/ca.crt"

我根据 Apache 的“SSL/TLS 强加密:常见问题解答”生成密钥/crts:

生成 CA 密钥/证书:

openssl genrsa -out ca.key 1024
openssl req -new -x509 -nodes -sha1 -days 365 -key server.key -out ca.crt

生成服务器密钥/证书:

openssl genrsa -out server.key 1024
openssl req -new -key server.key -out server.csr
openssl x509 -req -days 365 -in server.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out server.crt

我已经卡在这个问题上好几个小时了。有人知道我漏掉了什么吗?似乎可以使用

openssl verify -CAfile ca.crt server.crt

答案1

如果是自签名证书,则不需要该SSLCertfificateChainFile指令。您没有真正的证书链;您只有根证书和自签名证书,没有中间证书。

此外,您的 SSLProtocol 行和 SSLCipherSuite 将使您的网站成为黑客的乐土。您正在启用 sslv2 和弱/出口级加密密码。

答案2

您确定证书的路径正确吗?在我看来,这不是有效的 Windows 路径。您检查过 Apache 的日志吗?

相关内容