2016-11-28 13 views
1

У меня есть приложение, которое в настоящее время развернуто в WAS 8.5.5.9. Это приложение подключается к другому серверу через webservice, а хост другого сервера требует, чтобы я подключался через TLS 1.2 и через SSL-соединение.Как установить сертификат на стороне клиента в Websphere 8.5.5.9 для mSSL?

Я уже успешно импортировал сертификат хоста (другого) сервера в доверительном магазине моего WAS, но поскольку это mSSL, а не обычный односторонний SSL-протокол, мне также нужно настроить сертификат клиента для отправки обратно другому пользователю сервер для проверки соединения.

Как это сделать? Я не могу найти какие-либо параметры в консоли администратора WAS, которая указывает сертификат клиента, который будет отправлен на удаленный сервер для mSSL.

Некоторые моменты, рассмотреть следующие вопросы:

  • Я уже выбран TLSv1.2 в конфигурации SSL в WAS и это, кажется, работает
  • Сертификат клиента был предоставлен мне владельцем удаленный хост, основанный на создании CSR, выполненном нами в IKEYMAN.
  • Я попытался импортировать сертификат клиента в хранилища доверия WAS и хранилища ключей, но при попытке обработать транзакцию я все еще получаю исключение handshake_failure.
  • Дамп TCP на стороне удаленного сервера указывает, что сервер получает 0 длины при получении сертификата клиента.
  • Журналы на моей стороне указывают на успешное первоначальное рукопожатие. Проводятся сообщения ClientHello и ServerHello. Но в самом конце я получаю это сообщение (хотя это не говорит много):
 
[11/28/16 20:57:15:836 CST] 000000e9 SystemOut  O [Raw read]: length = 5 
[11/28/16 20:57:15:836 CST] 000000e9 SystemOut  O 0000: 15 03 03 00 02          ..... 

[11/28/16 20:57:15:836 CST] 000000e9 SystemOut  O [Raw read]: length = 2 
[11/28/16 20:57:15:836 CST] 000000e9 SystemOut  O 0000: 02 28            .. 


[11/28/16 20:57:15:836 CST] 000000e9 SystemOut  O Thread-142, READ: TLSv1.2 Alert, length = 2 
[11/28/16 20:57:15:836 CST] 000000e9 SystemOut  O Thread-142, RECV TLSv1.2 ALERT: fatal, handshake_failure 

ответ

1

Вы можете использовать функцию «Dynamic исходящее конечной точки», чтобы связать сертификат с подключением к целевому серверу. Чтобы настроить динамическую исходящую конечную точку, см.: Associating a Secure Sockets Layer configuration dynamically with an outbound protocol and remote secure endpoint.

Информация о соединении имеет вид *,hostname,port. После выбора существующей конфигурации SSL (CellDefaultSSLSettings) нажмите кнопку «Получить псевдонимы сертификатов». Затем выберите свой клиентский сертификат из раскрывающегося списка.

Это должно позволить вам правильно выполнить взаимную аутентификацию. Обратите внимание, что ваш клиентский сертификат также должен присутствовать в хранилище доверия вашего целевого сервера.

+0

спасибо. Просто быстрый запрос. Есть ли способ сделать это в Apache/IBM HTTPServer? – Avias

+0

@Avias, я не эксперт на веб-серверах, поэтому я не могу ответить на это надежно. Лучше было бы опубликовать это как новый вопрос. – Haxiel

+0

это отмечено. Еще раз спасибо :) – Avias