【问题标题】:User Certificate is Null in HTTPServletRequestHTTPServletRequest 中的用户证书为空
【发布时间】:2011-06-14 20:44:39
【问题描述】:

我在启用双向 SSL 的 Weblogic 10.3 中运行 servlet。当我尝试从 HTTPServletRequest 获取以下属性时,两者均为空:

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

那么我如何从 servlet 访问用户的证书?我在网上搜索了没有运气。

【问题讨论】:

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

标签: java servlets ssl x509certificate weblogic-10.x


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2021-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-06
    • 1970-01-01
    • 2017-07-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多