配置 Apache 以需要客户端证书

配置 Apache 以需要客户端证书

我想使用 apache Web 服务器实现相互身份验证(双向)。

参考:
1.无法使用 CA 根密钥签署 CSR
2.添加 CA 签名的客户端证书时 Firefox 出现错误消息

经过许多步骤:

  1. 通过编辑 ssl.conf 将 Apache 2.0 SSL 配置为接受 https。
  2. 使用 OpenSSL 创建证书颁发机构并将其导入 Web 浏览器[关联]
  3. 创建 Web 服务器证书并由 CA 对其进行签名并将其作为 apache 证书。[关联]
  4. 创建客户端证书并由 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 无法验证证书。

相关内容