Настройте 2-стороннюю ssl-аутентификацию в Websphere Liberty и проверьте ее

#java #ssl #websphere-liberty

#java #ssl #websphere-liberty

Вопрос:

Я использую https://github.com/TooTallNate/Java-WebSocket для моей связи с сокетом в моем приложении веб-сервера.

Я хочу настроить взаимную аутентификацию в своей службе. Я установил хранилище ключей и хранилище доверия в своем серверном и клиентском приложении. Чего я не могу понять, так это нужно ли мне изменять код для выполнения 2-сторонней аутентификации? Прямо сейчас я могу подтвердить, что связь происходит по защищенному каналу. Есть ли способ проверить, что 2 way SSL authentication (mutual authentication) это происходит? Я запускаю свою службу на Websphere Liberty

Источник для SSL-связи в Java websockets: 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:

Чтобы включить аутентификацию клиента или взаимную аутентификацию, вам необходимо включить clientAuthentication=»true», как указано в примере ниже на Liberty.

            <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. Убедитесь, что сервер доверяет всем используемым клиентским сертификатам.