我想使用 apache Web 服务器实现相互身份验证(双向)。
参考:
1.无法使用 CA 根密钥签署 CSR
2.添加 CA 签名的客户端证书时 Firefox 出现错误消息
经过许多步骤:
- 通过编辑 ssl.conf 将 Apache 2.0 SSL 配置为接受 https。
- 使用 OpenSSL 创建证书颁发机构并将其导入 Web 浏览器[关联]
- 创建 Web 服务器证书并由 CA 对其进行签名并将其作为 apache 证书。[关联]
- 创建客户端证书并由 CA 对其进行签名并将其导出为 PKCS#12 格式[关联]并将其导入网络浏览器
我现在可以通过 https 访问服务器,但适用于所有用户。
我只希望我向他们提供 CA 签名证书的授权用户可以访问我的服务器上的网页。我需要在
/etc/httpd/conf.d/ssl.conf
下面编辑 ssl.conf教程,我对 ssl.conf 这样做了:
SSLVerifyClient require
SSLVerifyDepth 2
更新#1:
当然,我已将证书设置为由 CA 签名的证书:
# Server Certificate:
#SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateFile /var/www/sslConf/server.crt
# Server Private Key:
#SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
SSLCertificateKeyFile /var/www/sslConf/server.key
答案1
查看 Apache 日志以查看问题所在。看来 apache 无法验证客户端证书。
您是否正确设置了 SSLCACertificateFile 指令?这是必要的,否则 apache 无法验证证书。