客户端证书和 FireFox
我需要一些帮助来了解我的网络应用程序发生了什么。 我有一个使用智能卡身份验证的简单 Web 应用程序(c# .Net 2.0)。在我的测试盒(win 2k3 32 位,iis6)中,一切正常,但在我的生产盒(win2k3 64 位,iis6)中,firefox 无法将卡中托管的证书发送到服务器(集合 Request.ClientCertificate 是空的)。如果我尝试使用 IE(6、7 和 8)或 Safari 浏览同一个生产站点,它就可以工作。
两台服务器上的 IIS 配置相同:相同的 ssl 证书、相同的 CTL。 我读过很多关于 Firefox 证书问题的文章,但没有一个与我的相符。
如果你们中的任何人能够提供有关正在发生的事情的线索,我将非常感激。
格劳科。
I need some help to understand what is happening with my web application.
I have a simple web app (c# .Net 2.0) that uses a smartcard authentication. In my testing box (win 2k3 32 bits, iis6) everything works fine but in my production box (win2k3 64 bits, iis6) firefox is unable to send the certificate, hosted in the card, to the server (the collection Request.ClientCertificate is empty). If I try to browse the same production site with IE (6, 7 and 8) or Safari it works.
IIS's configuration is the same on both servers: same ssl certificates, same CTL.
I’ve been read a lot about firefox problems with certificates but none of them matches mine.
If any of you can give a clue of what is happening I will be very thankful.
Glauco.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您是否在同一台计算机上运行 Firefox(因此有 64/32 位差异),或者在同一台客户端计算机上运行两次(我假设是 32 位),并且当服务器不同(64 位)时它对您不起作用?
Firefox 是否可以看到证书(首选项 -> 高级 -> 加密 ->“查看证书 -> 我的证书”和“安全设备”)?启用“每次询问”进行证书选择,并验证 Firefox 确实尝试使用该卡。
您使用哪种卡(制造商、类型)和软件(PKCS#11 提供商)?
Do you run Firefox on the same machine (and thus the 64/32 bit difference) or both times on the same client computer (I would assume 32bit here), and it does not work for you when the server is different (64bit)?
Does Firefox see the certificate (Preferences -> Advanced -> Encryption -> "View certificates -> My Certificates" and "Security devices")? Enable "Ask every time" for certificate selection and verify that Firefox indeed tries to use the card.
Which card (manufacturer, type) and software (PKCS#11 provider) do you use?
免责声明:这仅基于我自己的观察。
从版本 22.0 开始,如果服务器证书的 CN(“通用名称”)字段显示为 DNS 名称,则 Firefox 将根本不会显示客户端证书但与正在通信的主机(即 URL 栏中的主机名)不匹配。
如果您认为这可能是您的问题,您可以通过确保您请求的主机是服务器证书的 CN 字段中的主机,或者提供带有
CN
字段中的愚蠢值,如“Jim Bob”。Disclaimer: this is only based my own observations.
As of version 22.0, Firefox will not present the client certificate at all if the
CN
("common name") field of the server's certificate appears to be a DNS name but does not match the host it is talking to (i.e. the hostname in the URL bar).If you think this may be your issue, you could test it by either ensuring that the host you request is the one in the
CN
field of the server cert, or by providing a self-signed cert with a silly value like "Jim Bob" in theCN
field.