Атрибут CHANNEL CERTLABL
Этот атрибут устанавливать не нужно, если только вам не нужно представить сертификат для этого SVRCONN
, отличный от всех других каналов в администраторе очередей. Если у вас нет этого требования, оставьте CHANNEL
attribute CERTLABL
пустым и просто используйте общий сертификат администратора очередей. Это либо соответствует шаблону сертификата по умолчанию ibmWebSphereMQ<qm-name>
, либо используется метка сертификата, установленная с помощью следующей команды MQS C:
ALTER QMGR CERTLABL(my-certificate-label)
Аутентификация подключения (встроенная проверка пароля MQ)
В новом администраторе очередей, созданном в версии V8 или выше, будет включена функция аутентификации соединения, что означает, что администратор очередей проверит все пароли, которые вы предоставили, и, что более важно, в вашем сценарии потребует, чтобы любой привилегированный идентификатор пользователя должен поставить один. Сообщение об ошибке, которое вы сообщаете при попытке соединения 1:
AMQ5542I: The failed authentication check was caused by the queue manager CONNAUTH CHCKCLNT(REQDADM) configuration.
и попытке соединения 2/3:
AMQ5540E: Application 'MQ Explorer 8.0.0' did not supply a user ID and password
AMQ5541I: The failed authentication check was caused by the queue manager CONNAUTH CHCKCLNT(REQDADM) configuration.
..., говорит о том, что аутентификация соединения требует, чтобы ваш идентификатор пользователя , который он считает привилегированным (то есть членом группы mqm или аналогичным), не предоставил пароль.
Если вам не требуется проверка пароля для какого-либо удаленного подключения идентификатора привилегированного пользователя, вы можете отключить его с помощью следующие команды в администраторе очередей.
ALTER AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWOS) AUTHTYPE(IDPWOS) CHCKCLNT(OPTIONAL)
REFRESH SECURITY TYPE(CONNAUTH)
SSL / TLS с взаимной аутентификацией
Чтобы обеспечить взаимную аутентификацию SSL / TLS, в конечном итоге вам потребуется убедиться, что ваш CHANNEL
атрибут SSLCAUTH
установлен на REQUIRED
. Но самый простой способ добиться этого - начать с установки на OPTIONAL
и перейти к точке, в которой клиент проверяет подлинность сертификата администратора очередей, а затем заставить его отправлять свою собственную, и, наконец, установить SSLCAUTH(REQUIRED)
, чтобы убедиться, что он будет работать только в том случае, если клиент продолжит делать это.
Вам необходимо убедиться, что вы установили SSLCIPH
на обоих концах канала. Вы не упоминаете об этом в своем вопросе, но в инструкциях, на которые вы ссылаетесь, используется SSLCIPH(ANY_TLS12)
, поэтому я предполагаю, что вы сделали то же самое.
Если вы успешно установили соединение и не уверены, отправил ли клиент сертификат для администратора очередей, используйте следующую команду MQS C: -
DISPLAY CHSTATUS(DEV.ADMIN.SVRCONN) SSLPEER SSLCERTI
, чтобы увидеть DN субъекта и DN эмитента сертификата, отправленного клиентом. Если поле пустое, сертификат не отправлен.