Java HTTPServletRequest中的用户证书为空

Java HTTPServletRequest中的用户证书为空,java,servlets,ssl,x509certificate,weblogic-10.x,Java,Servlets,Ssl,X509certificate,Weblogic 10.x,我正在WebLogic10.3中运行一个启用了双向SSL的servlet。当我尝试从HTTPServletRequest获取以下属性时,它们都为null: - javax.servlet.request.X509Certificate - weblogic.servlet.request.SSLSession 那么如何从servlet访问用户的证书?我在网上搜索时运气不佳。我想看看您的密钥库是如何设置的。根据我的经验,如果用户或服务器的签名证书未正确导入密钥库,则可能会发生这种错误 要验证这一

我正在WebLogic10.3中运行一个启用了双向SSL的servlet。当我尝试从HTTPServletRequest获取以下属性时,它们都为null:

- javax.servlet.request.X509Certificate
- weblogic.servlet.request.SSLSession

那么如何从servlet访问用户的证书?我在网上搜索时运气不佳。

我想看看您的密钥库是如何设置的。根据我的经验,如果用户或服务器的签名证书未正确导入密钥库,则可能会发生这种错误

要验证这一点,请在密钥库上运行keytool,以确定密钥库中的哪个别名包含私钥。然后,查看该别名,看看它是否具有与之关联的已签名(已批准)证书,或者已签名证书是否具有与之关联的另一个别名


这种错误在使用仅在密钥库中查找特定别名进行验证的应用程序时很常见。通常,这是可配置的,因此您可以确保您的证书在证书中都具有唯一的“名称”。例如,通常在证书名称中使用linux box的主机名,然后创建一个别名,即主机名。

我忘了提到连接是通过SSL工作的,用户证书肯定是从浏览器发送到Weblogic的。页面是否需要保密?服务器日志中是否有错误迹象?我知道在JBoss中,您经常需要更改配置以获取与安全相关的日志记录。您是否使用WLS附带的auth.xml策略文件将WLS配置为需要身份验证?