IBM MQ docker 将个人证书添加到 .kdb

IBM MQ docker add personal cert to .kdb

我使用以下命令在我的 IBMMQ (docker) 中创建了一个 kdb 文件:

runmqakm -keydb -create -db key.kdb -stash -pw password -type cms

并且我通过以下方式创建了一个自签名证书:

openssl genrsa -out ca.key 2048
openssl req -new -x509 -key ca.key -subj "$prefix/CN=ca" -out ca.crt
openssl pkcs12 -export -out ca.pfx -in ca.crt -nokeys
openssl pkcs12 -export -in ca.crt -inkey ca.key -out ca.p12 -name myca -CAfile ca.crt -passin pass:mypass -passout pass:mypass

现在我想将我自己的 ca.crt 添加到 kdb 作为个人证书,我的意思如下:

runmqakm -cert -list -db key.kdb -stashed
Certificates found
* default, - personal, ! trusted, # secret key
-   CAlabel

我试过这个命令:

runmqckm -cert -import -file ca.pfx -pw mypass -type pkcs12 -target filename -target_pw password -target_type cms -label CAlabel

runmqckm -cert -import -file ca.p12 -pw mypass -type pkcs12 -target filename -target_pw password -target_type cms -label CAlabel

但一直面临这个错误(在 docker:docker exec -it -u 0 containerid sh 中以 root 身份登录):

The database doesn't contain an entry with label 'CAlabel'.

Check the label and try again.

还有(在docker中正常登录:docker exec -ti containerid /bin/bash)

Dec 19, 2021 7:48:57 AM java.util.prefs.FileSystemPreferences run

WARNING: Couldn't create user preferences directory. User preferences are unusable.

Dec 19, 2021 7:48:57 AM java.util.prefs.FileSystemPreferences run

List item

WARNING: java.io.IOException: No such file or directory

The input file '/mnt/mqm/data/qmgrs/QM1/ssl/ca.pfx' could not be found.

Check the database path.

有没有人对我如何解决这个问题有任何建议?

此命令会将 p12 文件中包含的所有证书导入 kdb。

runmqcakm -cert -import -file ca.p12 -pw mypass -type pkcs12 -target key.kdb -target_stashed -target_type cms