Websphere MQ в C #: где в коде установить пароль хранилища ключей SSL? - PullRequest
3 голосов
/ 03 декабря 2010

У меня есть приложение MQ, с которым мне нужно использовать SSL-соединения.Мне дали использовать хранилище ключей и пароль для его использования, но в чем я не уверен, куда мне нужно перейти, чтобы установить значение пароля хранилища ключей?

В MQ DLL есть несколько мест, где я вижу настройки пароля, но я не хочу устанавливать их в неправильном месте.Все остальные вещи SSL были в MQENVIRONMENT и там есть пароль, но я не могу найти ничего, что подтверждает это как правильное место.

Какое значение мне нужно установить для пароля моего хранилища ключей SSL?

(ПРИМЕЧАНИЕ: я пишу это на C #, используя MQ версии 7.)

1 Ответ

8 голосов
/ 03 декабря 2010

.Net классы не используют хранилище ключей Java, а скорее используют хранилище ключей формата WMQ kdb. Этот формат файла включает в себя «Stash-файл», который содержит обфусцированный пароль. Направьте вашу программу на kdb в переменных окружения, как обсуждено на этой странице документации. На самом деле kdb - это несколько файлов с одинаковым префиксом и разными суффиксами. В этом примере вы видите, что переменная содержит путь и префикс kdb, но без суффикса.

Я предполагаю, что следующий вопрос "как мне получить мои jks в этот формат kdb?" Для этого у вас должен быть установлен GSKit. Он поставляется как с клиентом WMQ, так и с сервером WMQ, но в зависимости от установленной версии путь может немного отличаться. Посмотрите под C:\Program Files\IBM\gsk7 для начала. Существует несколько различных пользовательских интерфейсов, но вам нужен скомпилированный gsk7cmd.

C:\Program Files\IBM\gsk7\bin>gsk7cmd.exe -keydb -convert

A required value for the command was not specified:  
-db                                 Required  

-Correct command usage-  
-db                                 Required  
-pw                                 Optional  
-target                             Optional  
-new_pw                             Optional  
-old_format or -type                Optional  
-new_format                         Required  <cms | jceks | jks | kdb | p12 | pkcs12>  
-expire                             Optional  <0 - 7300>  
-stash                              Optional`  

При преобразовании из jks в kdb обязательно укажите параметр -stash, чтобы программа могла найти пароль.

...