【问题标题】:client/certificate authentication by server in tomcatTomcat中服务器的客户端/证书身份验证
【发布时间】:2012-06-10 02:24:00
【问题描述】:

谁能告诉我tomcat中服务器的客户端/证书身份验证是什么,在我们的应用程序中,我们将证书作为请求参数的一部分并进行证书验证,这是否意味着我们正在做客户端/证书认证?我想我们正在应用程序代码中进行证书验证,这意味着它的应用程序级别,我们没有在服务器级别进行任何客户端/证书身份验证。任何人都可以确认一下

【问题讨论】:

    标签: java tomcat web-applications servlets ssl


    【解决方案1】:

    tomcat 中服务器的客户端/证书身份验证是什么

    这是两种方式的 SSL 认证。在服务器上启用 SSL 时,服务器证书应该在客户端受信任的证书存储中。

    同样,当启用client/certificate authentication 时,客户端 SSL 证书应该存在于服务器受信任的证书存储中。

    我们将证书作为请求参数的一部分并进行证书验证,这是否意味着我们正在进行客户端/证书身份验证?

    没有。那是应用程序验证。但是,谁在请求参数中设置。

    注意:此客户端证书身份验证由 Container 完成。但是,容器使用请求参数提供 ssl 属性。

    Look here 知道连接安全时服务器设置了哪些属性。

    【讨论】:

    • 非常感谢您的快速回复。那么当客户端请求服务时,请求参数是否会获取证书,即使我们没有实现客户端/证书身份验证?我们在 tomcat 中实现 SSL .. 我们为此配置了 SSL 连接器,所以如果我们设置 CLientAuth=false... 在这种情况下它会工作吗?
    • 不行,只有开启clienauth,才能获取到这个请求属性。
    • 谢谢.. 不过我还是有点怀疑! :) .. 我会给你我正在做的步骤 .. 请检查 n 告诉你是否正确 --- 1. 在本地创建了一个名为 D:/Xerox_Files/Misc/cert/client_CBR_1.jks 的目录。将此目录的证书导出到服务器的信任库。 2. 服务器信任存储有 3 个签名证书,一个在步骤 1 中创建的证书和一个证书请求文件。
    • 3. Server.xml 配置 -->
    • @Nagesh Hello 请注意,只要存在信任链,服务器的证书就不必物理存在于客户端的信任库中,反之亦然。如果您希望客户端提供他的证书,则需要将 clientAuth 设置为不同的值。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-28
    • 2011-11-04
    • 1970-01-01
    相关资源
    最近更新 更多