Вы не упоминаете, какую версию клиента MQ вы используете, для целей этого ответа я предполагаю, что вы используете клиент MQ 7.1 или более поздней версии.
Вы можете создать хранилище ключей Java (jks) из исходного файла kdb.
Это займет два шага для завершения:
Создать пустое хранилище ключей Java (jks):
runmqckm -keydb -create -db target.jks -type jks
Это запросит пароль, который будет использоваться для защиты файла jks.
Импорт всех сертификатов из исходного файла kdb в целевой файл jks, созданный выше:
runmqckm -cert -import -db source.kdb -type cms -target target.jks -target_type jks
Это запросит два пароля, первый - пароль файла kdb, второй - пароль файла jks. Если вы добавите флаг '-stashed', это исключит первую подсказку пароля.
Затем вы можете перечислить сертификаты, содержащиеся в kdb и jks, чтобы сравнить и подтвердить, что все сертификаты были скопированы:
runmqckm -cert -list -db source.kdb -type cms -stashed
Приведенная выше команда НЕ будет запрашивать пароль из-за флага -stashed
.
runmqckm -cert -list -db target.jks -type jks
Приведенная выше команда будет запрашивать пароль JKS.
Примечания
- Файлы kdb / rdb / sth вместе представляют хранилище ключей IBM Certificate Management Services (CMS).
- Существует опция
-keydb -convert
, которая указывает, что он должен иметь тот же результат, что и два шага, которые я предоставил выше, однако я отметил, что он не всегда копирует все сертификаты.