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
我使用以下命令在我的 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