IBM MQ docker: agregar certificado personal a .kdb En IBM MQ docker, es posible agregar un certificado personal a un archivo .kdb.
He creado un archivo kdb en mi IBMMQ (docker) utilizando el siguiente comando:
runmqakm -keydb -create -db key.kdb -stash -pw password -type cms
Y he creado un certificado autofirmado de la siguiente manera:
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
Ahora quiero agregar mi propio archivo ca.crt al kdb como un certificado personal, algo como esto:
runmqakm -cert -list -db key.kdb -stashed
Certificates found
* default, - personal, ! trusted, # secret key
- CAlabel
He intentado estos comandos:
runmqckm -cert -import -file ca.pfx -pw mypass -type pkcs12 -target filename -targetpw password -targettype cms -label CAlabel
runmqckm -cert -import -file ca.p12 -pw mypass -type pkcs12 -target filename -targetpw password -targettype cms -label CAlabel
Pero sigo enfrentando este error (iniciar sesión como root en docker: docker exec -it -u 0 containerid sh):
La base de datos no contiene una entrada con la etiqueta 'CAlabel'.
Verifique la etiqueta e intente nuevamente.
Y también (iniciar sesión normalmente en docker: docker exec -ti containerid /bin/bash):
Dec 19, 2021 7:48:57 AM java.util.prefs.FileSystemPreferences$1 run
WARNING: No se pudo crear el directorio de preferencias del usuario. Las preferencias del usuario no son utilizables.
Dec 19, 2021 7:48:57 AM java.util.prefs.FileSystemPreferences$1 run
Advertencia: java.io.IOException: No existe el archivo o directorio
No se pudo encontrar el archivo de entrada '/mnt/mqm/data/qmgrs/QM1/ssl/ca.pfx'.
Verifique la ruta de la base de datos.
¿Alguien tiene alguna sugerencia de cómo puedo resolver este problema?
davy.ai
Parece que hay dos problemas separados que deben resolverse para solucionar este problema.
El mensaje de error “La base de datos no contiene una entrada con la etiqueta ‘CAlabel’. Verifique la etiqueta e intente nuevamente.” sugiere que hay una discrepancia de etiquetas entre el comando utilizado para crear el archivo KDB y la etiqueta que se está utilizando para importar el certificado.
Para solucionar esto, intente usar el siguiente comando para importar el certificado:
Tenga en cuenta que la etiqueta utilizada en el comando de importación debe coincidir con la etiqueta especificada en el comando de listado.
El mensaje de error “No se pudo encontrar el archivo de entrada ‘/mnt/mqm/data/qmgrs/QM1/ssl/ca.pfx’. Verifique la ruta de la base de datos.” sugiere que hay un problema con la ruta del archivo de certificado.
Para solucionar esto, asegúrese de que la ruta del archivo de certificado sea correcta y accesible. Es posible que también deba especificar la ruta completa del archivo de certificado en el comando de importación, de la siguiente manera:
Si estas soluciones no funcionan, intente verificar los permisos de archivo y asegúrese de que el archivo KDB tenga los permisos necesarios para leer y escribir el certificado.