配置 Apache 以要求客户端证书

Nan*_*ith 5 authentication certificates apache-httpd

我想与 apache 网络服务器实现相互身份验证(双向)。

参考
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 格式[link]并将其导入到 Web 浏览器

我现在可以使用 https 访问服务器,但对于所有用户。
我只希望获得 CA 签名证书的授权用户能够访问我服务器上的网页。我需要/etc/httpd/conf.d/ssl.conf 按照本教程编辑 ssl.conf ,我对 ssl.conf 做了这个:

SSLVerifyClient require
SSLVerifyDepth 2
Run Code Online (Sandbox Code Playgroud)

更新#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
Run Code Online (Sandbox Code Playgroud)

结果我收到了这条消息,然后按了确定这条消息在 firefox 中)。我犯了什么错误?

Fii*_*sch 1

查看 Apache 日志以查看问题所在。看来 apache 无法验证客户端证书。

您是否正确设置了 SSLCACertificateFile 指令?这是必要的,否则 apache 无法验证证书。