簡體   English   中英

KDB 到 JKS 密鑰庫的轉換

[英]KDB to JKS keystore conversion

我是 Java 中的 TLS 新手。 我有帶有 KDB、RDB 和 STN 擴展名的文件。 如何設置 JKS 密鑰庫並在 Java 應用程序中使用它來實現使用 IBM WebSphere MQ 客戶端的 TLS?

我的疑問是:

  1. 我可以使用 ikeyman 進行轉換嗎?
  2. 我可以將 KDB 文件直接轉換為 JKS 密鑰庫嗎?
  3. 我是否需要任何其他證書才能在 IBM 本機 MQ 測試應用程序中實施 TLS?
  4. 如何將 TLS 參數添加到 IBM Native MQ API?

我曾嘗試啟動 ikeyman。 但我不能。

您沒有提到您使用的是哪個版本的 MQ 客戶端,出於本回答的目的,我假設您使用的是 MQ 客戶端 7.1 或更高版本。


您可以從源 kdb 文件構建 Java 密鑰庫 (jks)。

這將需要兩個步驟才能完成:

  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 證書管理服務 (CMS) 密鑰庫。
  2. 有一個-keydb -convert選項,表明它應該具有與我上面提供的兩個步驟相同的結果,但是我注意到它並不總是復制所有證書。

我不認為你可以,但你可以使用key tool創建一個.jks keystone 並導入服務器證書或信任庫證書。

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

查看https://github.com/ibm-messaging/mq-dev-patterns中的 TLS 部分

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM