es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que hay dos problemas separados que deben resolverse para solucionar este problema.

    1. Error de coincidencia de etiquetas:
      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:

    runmqakm -cert -import -file ca.p12 -pw mypass -type pkcs12 -target key.kdb -target_pw password -target_type cms -label "CAlabel"
    

    Tenga en cuenta que la etiqueta utilizada en el comando de importación debe coincidir con la etiqueta especificada en el comando de listado.

    1. Error de archivo no encontrado:
      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:

    runmqakm -cert -import -file /ruta/a/ca.p12 -pw mypass -type pkcs12 -target key.kdb -target_pw password -target_type cms -label "CAlabel"
    

    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.

Comments are closed.