Преобразование хранилища ключей KDB в JKS - PullRequest
1 голос
/ 19 марта 2019

Я новичок в TLS в Java.У меня есть файлы с расширениями KDB, RDB и STN.Как я могу настроить хранилище ключей JKS и использовать его в Java-приложении для реализации TLS, использующего клиент IBM WebSphere MQ?

Мои сомнения:

  1. Могу ли я использовать ikeyman дляпреобразование?
  2. Могу ли я преобразовать файлы KDB напрямую в хранилище ключей JKS?
  3. Нужны ли какие-либо другие сертификаты для поддержки TLS в тестовом приложении IBM MQ?
  4. Как можноЯ добавляю параметры TLS в IBM Native MQ API?

Я пытался запустить ikeyman.Но я не могу.

Ответы [ 2 ]

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

Вы не упоминаете, какую версию клиента MQ вы используете, для целей этого ответа я предполагаю, что вы используете клиент MQ 7.1 или более поздней версии.


Вы можете создать хранилище ключей Java (jks) из исходного файла kdb.

Это займет два шага для завершения:

  1. Создать пустое хранилище ключей Java (jks):

    runmqckm -keydb -create -db target.jks -type jks
    Это запросит пароль, который будет использоваться для защиты файла jks.

  2. Импорт всех сертификатов из исходного файла kdb в целевой файл jks, созданный выше:

    runmqckm -cert -import -db source.kdb -type cms -target target.jks -target_type jks
    Это запросит два пароля, первый - пароль файла kdb, второй - пароль файла jks. Если вы добавите флаг '-stashed', это исключит первую подсказку пароля.

  3. Затем вы можете перечислить сертификаты, содержащиеся в kdb и jks, чтобы сравнить и подтвердить, что все сертификаты были скопированы:

    runmqckm -cert -list -db source.kdb -type cms -stashed
    Приведенная выше команда НЕ будет запрашивать пароль из-за флага -stashed.

    runmqckm -cert -list -db target.jks -type jks
    Приведенная выше команда будет запрашивать пароль JKS.


Примечания

  1. Файлы kdb / rdb / sth вместе представляют хранилище ключей IBM Certificate Management Services (CMS).
  2. Существует опция -keydb -convert, которая указывает, что он должен иметь тот же результат, что и два шага, которые я предоставил выше, однако я отметил, что он не всегда копирует все сертификаты.
0 голосов
/ 20 марта 2019

Не думаю, что вы можете, но вы можете использовать key tool для создания .jks трапецеидальных искажений и импорта сертификата сервера или сертификата доверенного хранилища.

keytool -keystore clientkey.jks -storetype jks -importcert -file servercert.pem -alias server-cert

Смотрите в разделе TLS в https://github.com/ibm-messaging/mq-dev-patterns

...