请求.getAttribute("javax.servlet.request.X509Certificate") 返回空值。

5
我遇到一个问题,使用Request.getAttribute("javax.servlet.request.X509Certificate")获取客户端证书认证信息时,有些用户返回NULL,而另一些用户返回有效的证书。对于那些出现问题的用户,如果我们删除并重新创建他们的Windows用户配置文件,则可以解决该问题。虽然有一种解决方法,但我希望避免让用户重建Windows账户配置文件。是否有IE或ActivIdentity中的特定设置可能导致IE无法发送客户端证书?我们在Windows 7上使用IE8和ActivIdentity 6.1以及Tomcat 6进行开发。

谢谢,

Tri


1
你可以尝试在Tomcat配置中的HTTPS连接器上设置clientAuth="true",这将拒绝没有证书的客户端,但我不知道是否会对客户端产生任何不同的行为。 - Alex
你解决了吗,@Tri Phan?如果是,请分享你的解决方案。 - Kevin Meredith
1个回答

0
您的客户必须配置ActivClient以使他们的证书可供Windows使用。在“工具|高级|使证书可供Windows使用”菜单项中,可以完成此操作。

这个有效吗?还有,@Mermeister,如果客户端有时提供其证书怎么办?有时我的客户端的HTTP请求会包含证书,但其他时候则不会。 - Kevin Meredith

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接