在Websphere Liberty中设置2路ssl身份验证并验证它

时间:2016-10-13 04:48:01

标签: java ssl websphere-liberty

我在我的Web服务器应用程序中使用https://github.com/TooTallNate/Java-WebSocket进行套接字通信。

我想在我的服务中设置相互身份验证。我在我的服务器和客户端应用程序中设置了密钥库和信任库。我无法弄清楚的是,我是否需要更改代码才能执行双向身份验证?现在,我能够确认通信是通过安全通道进行的。无论如何都要验证2 way SSL authentication (mutual authentication)是否正在发生?我在Websphere Liberty上运行我的服务

Java websockets中的ssl通信源:https://github.com/TooTallNate/Java-WebSocket/blob/Java-WebSocket-1.3.0/src/main/java/org/java_websocket/SSLSocketChannel2.java

我看到在Liberty中我可以请求客户端证书https://www.ibm.com/support/knowledgecenter/SSEQTP_8.5.5/com.ibm.websphere.wlp.doc/ae/twlp_sec_clientcert.html 但是为什么我需要在浏览器中添加证书呢?难道我不能在我服务器的信任存储中添加客户端证书吗?

1 个答案:

答案 0 :(得分:1)

要启用客户端身份验证或相互身份验证,您需要启用Liberty上的示例中提供的 clientAuthentication =" true"

           <ssl id="myDefaultSSLConfig"
           keyStoreRef="defaultKeyStore"
           trustStoreRef="defaultTrustStore"
           clientAuthentication="true"
           sslProtocol="TLS" />

如上所述,浏览器需要添加或接受服务器证书,服务器还需要拥有客户端的签名者证书。客户端和服务器都需要建立信任,以便相互通信才能工作。

  

从上方链接:https://www.ibm.com/support/knowledgecenter/SSEQTP_8.5.5/com.ibm.websphere.wlp.doc/ae/twlp_sec_clientcert.html

     
    
        
  1. 将客户端证书添加到浏览器。请参阅浏览器文档以添加客户端证书。
  2.     
  3. 确保服务器信任所使用的任何客户端证书。
  4.