Почему мне нужно предоставить хранилище ключей и хранилище доверенных сертификатов для соединения SSL с IBM MQ - PullRequest
0 голосов
/ 08 марта 2019

Я создал легкое приложение, которое подключается к IBM MQ с использованием SSL.

Если я настрою и javax.net.ssl.trustStore, и javax.net.ssl.keyStore, все будет работать как положено.

В хранилище ключей (jks) есть две записи:

  1. TrustedCertEntry

  2. PrivateKeyEntry

У меня было ощущение, что, учитывая тот факт, что я являюсь клиентом для этого соединения, а MQ является сервером, следует использовать только trustStore, но это не тот случай, поскольку приложение не работает, если я настраиваю только trustStore.

Может кто-нибудь объяснить мне, почему оба требуются?

1 Ответ

1 голос
/ 08 марта 2019

Согласно конфигурации SSL руководства Java / JMS-клиента Websphere MQ , точка 2. Создайте keyStore , вы, скорее всего, используете сертификаты для аутентификации клиента. Для этой настройки аутентификации требуется хранилище ключей:

Заполните этот раздел, только если вы хотите иметь аутентификацию клиента при установлении соединения с администратором очередей. Если на канале не указана аутентификация клиента, вам не нужно заполнять этот раздел.

KeyStore по сути такой же, как trustStore, за исключением того, что он содержит личный сертификат клиента, а JSSE требует пароль для доступа. Фактически вы можете добавить свой личный сертификат в ранее созданный trustStore, и он будет действовать как trustStore и keyStore, но пароль, который раньше не требовался, теперь нужно будет передать в JSSE для доступа к вашему личному сертификату.

Вы можете проверить это на сервере, как показано в Использование самозаверяющих сертификатов для взаимной аутентификации клиента и администратора очередей руководство по запуску:

DISPLAY CHSTATUS(<your channel name>) SSLPEER SSLCERTI
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...