gpt4 book ai didi

apache - 当服务器 apache 请求客户端证书时,Firefox 拒绝显示证书列表?

转载 作者:太空宇宙 更新时间:2023-11-03 12:52:46 25 4
gpt4 key购买 nike

关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。












我们不允许在 Stack Overflow 上提出有关专业服务器或网络相关基础设施管理的问题。您可以编辑问题,使其成为 on-topic对于堆栈溢出。


8年前关闭。







Improve this question




我试图强制 Apache 在允许他们访问我公司 LAN 网站上的网站内容之前,通过他们的个人证书对用户进行身份验证。

到目前为止,我已经尝试过像这样配置 httpd-ssl.conf :

SSLVerifyDepth 0
SSLVerifyClient require
SSLProxyEngine off

当我去 https://localhost通过 Firefox,它会显示一个对话框,其中包含我导入的证书列表以供选择。

这正是我所期望的。但后来我想知道“那么,我怎样才能对我客户的证书进行测试/验证?”。此时,我从证书对话框中尝试过的所有证书(我自己创建的所有自签名证书)都被服务器拒绝了。

一些谷歌搜索让我找到了一个名为“SSLCACertificateFile”的指令。这是证书文件的路径,它应该是所有客户端证书的根 CA。换句话说,由该 CA 颁发的来自客户端的任何证书都将被视为有效。 (更多信息可以查看 here)

但是,问题是,当我以这种方式指定具体的 CA 证书文件时,Firefox 停止向我显示证书对话框。像这样的文件“httpd-ssl.conf”:
SSLCACertificateFile    C:/(...)/apache2/server_certs/ca.pem

SSLVerifyDepth 0
SSLVerifyClient require
SSLProxyEngine off

相反,Firefox 向我显示了带有错误代码的错误通知:“ssl_error_handshake_failure_alert”

我确定 CA 证书文件“ca.pen”的格式正确,因为它是我下载的安装包中的原始文件。 (实际上,它在一个名为 uniServer 的免费产品中)

我已经针对 IE、Chrome 进行了测试,结果都是一样的。我试过测试其他一些“ca.pem”文件(都是自签名的),结果拒绝改变。

所以,我的问题很简单:为 apache 指令“SSLCACertificateFile”指定一个具体的 CA 文件有什么问题?

如果您能告诉我答案,那么您介意告诉我更多验证客户证书的方法,例如 CN、发布日期、验证对象等

感谢并高度赞赏任何建议

最佳答案

SSLVerifyDepth 0 “意味着仅接受自签名客户端证书”,这似乎不是您想要做的(因为您已经设置了 CA)。

您当然希望将其增加到至少 1 (或者更多,如果客户端可以提供证书链)。
openssl s_client -connect your.server.name:443应该为您提供服务器公布的 CA 名称列表。 Firefox 只会为您提供可以链接到这些颁发者的证书选择。

关于授权条件,您可能对 SSLRequire 感兴趣(或其继任者,取决于您使用的 Apache Httpd 版本)。

关于apache - 当服务器 apache 请求客户端证书时,Firefox 拒绝显示证书列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22257871/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com