我在Weblogic 10.3中运行了一个servlet,启用了双向SSL。当我尝试从HTTPServletRequest获取以下属性时,两者都为null:
- javax.servlet.request.X509Certificate
- weblogic.servlet.request.SSLSession
如何从servlet访问用户的证书?我在线搜索没有运气。
答案 0 :(得分:0)
我会看看你的密钥库是如何设置的。根据我的经验,如果用户或服务器的签名证书未正确导入密钥库,则会发生此类错误。
要验证这一点,请在密钥库上运行keytool,以确定密钥库中的哪些别名包含私钥。然后,查看该别名,看看它是否具有与之关联的签名(已批准)证书,或者签名证书是否具有与之关联的其他别名。
当使用仅在密钥库中查找特定别名以进行验证的应用程序时,这种错误很常见。通常,这是可配置的,以便您可以确保证书在证书中都具有唯一的“名称”。例如,通常在证书名称中使用linux box'hostname,然后创建一个作为主机名的别名。