Sunday, June 5, 2016

How to create a IBM MQ Client Library using SSL for transmision? (PART I-II)

1. Ambiente de desarrollo 
  • Ubuntu 16.04 
  • IBM Message Queue 7.5 
2. Aplicación empleando SSL, creación de una Autoridad de Certificación. 
2.1. Crear una llave para el repositorio CA 
Crear un directorio, y dentro del directorio crear el archivo con la llave del repositorio:
user@user-vbox:~/code/ssl$ mkdir appCAdir
user@user-vbox:~/code/ssl$ cd appCAdir/
user@user-vbox:~/code/ssl/appCAdir$ /opt/mqm/bin/runmqckm -keydb -create -db appCA.kdb -type cms


Ingresando los comandos se solicitara crear una contraseña y deberá ingresar para usar la llave CA del repositorio.

2.2. Crear un certificado personal CA certificado

user@user-vbox:~/code/ssl/appCAdir$ /opt/mqm/bin/runmqckm -cert -create -db appCA.kdb -type cms -label "appCAcertificate" -dn "CN=appSysCAName,O=sysEnterprise,OU=sysDeparment,L=Mexico,C=MX" -expire 1000 -size 1024

-expires: define la cantidad de dias de expiracion del certificado

2.3 Extraer el certificado CA

Extraer el certificado CA en un archivo llamado appCAcertfile.cer, el cual transferiremos después a los repositorios del gestor de colas y cliente de la aplicación.

user@user-vbox:~/code/ssl/appCAdir$ /opt/mqm/bin/runmqckm -cert -extract -db appCA.kdb -type cms -label "appCAcertificate" -target appCAcertfile.cer -format ascii

2.4 Emisor de un certificado para un gestor de colas

Cada gestor de colas en la infraestructura debe tener su propio certificado, con su propio nombre distinguido (DN), El DN debe ser único con la red del Websphere MQ.

user@user-vbox:~/code/ssl/appCAdir$ /opt/mqm/bin/crtmqm appqmgr01
There are 89 days left in the trial period for this copy of WebSphere MQ.
WebSphere MQ queue manager created.
Directory '/var/mqm/qmgrs/appqmgr01' created.
The queue manager is associated with installation 'Installation1'.
Creating or replacing default objects for queue manager 'appqmgr01'.
Default objects statistics : 74 created. 0 replaced. 0 failed.
Completing setup.
Setup completed.
user@user-vbox:~/code/ssl/appCAdir$ /opt/mqm/bin/strmqm appqmgr01
There are 89 days left in the trial period for this copy of WebSphere MQ.
WebSphere MQ queue manager 'appqmgr01' starting.
The queue manager is associated with installation 'Installation1'.
5 log records accessed on queue manager 'appqmgr01' during the log replay phase.
Log replay for queue manager 'appqmgr01' complete.
Transaction manager state recovered for queue manager 'appqmgr01'.
WebSphere MQ queue manager 'appqmgr01' started using V7.5.0.2.

2.4.2 Crear la llave del repositorio para el gestor de colas

Cambiar la localización del directorio donde el archivo con la llave del repositorio es creado: /repository

user@user-vbox:~/code/ssl$ mkdir repositoryuser@user-vbox:~/code/ssl$ cd repository/

Y es seguido del siguiente comando para crear con la llave de la base de datos para el gestor colas:

user@user-vbox:~/code/ssl/repository$ /opt/mqm/bin/runmqckm -keydb -create -db appqmgr.kdb -type cms -stash

Después de ingresar el comando se solicitara ingresar la contraseña.

2.4.3 Crear el certificado de respuesta para solicitud

Generar el certificado de solicitud para el gestor de colas, a partir de llave privada.

user@user-vbox:~/code/ssl/appCAdir$ /opt/mqm/bin/runmqckm -certreq -create -db appqmgr.kdb -type cms -dn "CN=appqmgr01,O=sysEnterprise,OU=sysDeparment,L=Mexico,C=MX" -label "ibmwebspheremqappqmgr" -file appqmgr.req
  
Después de ingresar el comando se solicitara ingresar la contraseña.

2.4.4 Transferir la solicitud

Para transferir el archivo de solicitud del certificado appqmgr.req, APRA el directorio donde el archivo CA se encuentra localizado. Es necesario cambiar al directorio:


user@user-vbox:~/code/ssl/repository$ ls
appqmgr.kdb  appqmgr.rdb  appqmgr.req  appqmgr.sth
user@user-vbox:~/code/ssl/repository$ pwd
/home/user/code/ssl/repository
user@user-vbox:~/code/ssl/repository$ mv appqmgr.req /home/user/code/ssl/appCAdir/

2.4.5 Firmar el certificado del gestor colas

Ejecutando el siguiente comando:

user@user-vbox:~/code/ssl/appCAdir$ /opt/mqm/bin/runmqckm -cert -sign -db appCA.kdb -label "appCAcertificate" -expire 365 -format ascii -file appqmgr.req -target appqmgr.cer

2.4.6 Transferir el certificado firmado CA

Transferir el certificado firmado appqmgr.cer y el certifcado public appCAcertfile.cer, a /repository.

user@user-vbox:~/code/ssl/appCAdir$ mv appqmgr.cer /home/user/code/ssl/repository/
user@user-vbox:~/code/ssl/appCAdir$ cp appCAcertfile.cer /home/user/code/ssl/repository/
2.4.7 Agregar el certificado CA

Agregar el certificado publico de CA al repositoriod e llaves del gestor de colas:

user@user-vbox:~/code/ssl/repository$ /opt/mqm/bin/runmqckm  -cert -add -db appqmgr.kdb -type cms -file appCAcertfile.cer -label "theCAcert"  
 


2.4.8 Repositorio del certificado firmado

Recibir el certificado en la llave del repositorio del gestor de colas.


 user @user-vbox:~/code/ssl/repository$ /opt/mqm/bin/runmqckm -cert -receive -db appqmgr.kdb -type cms -file appqmgr.cer

2.5 Agregar la locación de la llave del queuemanager
user@user-vbox:~/code/ssl/repository$ /opt/mqm/bin/runmqsc appqmgr01
5724-H72 (C) Copyright IBM Corp. 1994, 2011.  ALL RIGHTS RESERVED.
Starting MQSC for queue manager appqmgr01.

ALTER QMGR SSLKEYR('/home/user/code/ssl/repository/appqmgr')
     1 : ALTER QMGR SSLKEYR('/home/
user/code/ssl/repository/appqmgr')
AMQ8005: WebSphere MQ queue manager changed.
END
     2 : END
One MQSC command read.
No commands have a syntax error.
All valid MQSC commands were processed.



Aqui termina la parte uno de 2 articulos de creación de certificados en IBM MQ.

Best regards,

No comments:

Post a Comment