Este archivo de ejemplo le muestra cómo crear un almacén de claves de servidores y un certificado raíz de servidor para utilizarlo con un Rational DOORS y cómo se puede configurar Microsoft Certificate
Store (MCS) para validar el certificado de servidores. Al archivo de ejemplo le sigue un desglose de los mandatos y parámetros.
Archivo de ejemplo
REM Create a server keystore file
gsk8capicmd -keydb -create -db server.kdb -pw ser123 -stash
REM Create a server root certificate in server.kdb, and add it to the MCS
gsk8capicmd -cert -create -db server.kdb -pw ser123 -label "IBMEDCA1" -dn "CN=IBMEDCA1"
gsk8capicmd -cert -extract -db server.kdb -pw ser123 -label "IBMEDCA1" -target temp1.arm
gsk8capicmd -cert -add -db GSK_MS_CERTIFICATE_STORE -label "IBMEDCA1" -file temp1.arm
REM Create and sign a server certificate
gsk8capicmd -certreq -create -db server.kdb -label IBMSV1 -dn "CN=IBMEDSERV,dc=ukednode1" -file temp2.arm
gsk8capicmd -cert -sign -db server.kdb -pw ser123 -label IBMEDCA1 -file temp2.arm -target temp3.arm
gsk8capicmd -cert -receive -file temp3.arm -db server.kdb -pw ser123
REM Extract the root certificate from the MCS and add it to the server kdb file
gsk8capicmd -cert -extract -db GSK_MS_CERTIFICATE_STORE -label "CN=Coy Root" -target temp4.arm
gsk8capicmd -cert -add -db server.kdb -pw ser123 -label "CN=Coy Root" -file temp4.arm
Crear un archivo de almacén de claves del servidor
gsk8capicmd -keydb -create -db server.kdb -pw ser123 -stash
- gsk8capicmd -keydb -create
- El mandato gsk8capicmd es una herramienta para gestionar claves, certificados y solicitudes de certificado en una base de datos de claves. La sintaxis para
gsk8capicmd es: gsk8capicmd modifiers object action options.
En este ejemplo, -keydb es una base de datos de claves object, -create es action que se debe realizar y -db es option. El mandato crea una base de datos de claves.
- -db server.kdb -pw ser123
- La base de datos de claves se denomina server.kdb y tiene una contraseña (-pwd). En este ejemplo, la contraseña es ser123.
- -stash
- "Stash" oculta la contraseña de la base de datos de claves después de su creación. Un archivo stash se utiliza como una manera automática de proporcionar una contraseña. Cuando accede a una base de datos de claves, el sistema primero comprueba la existencia de un archivo stash. Si hay un archivo, el contenido del archivo se descifra y se utiliza como entrada de la contraseña. Al especificar la etiqueta -stash durante la creación de la acción (action), la contraseña se oculta en un archivo que se denomina así: nombre_base_datos_claves.sth.
Crear un certificado raíz en el almacén de claves y añadirlo en MCS
El certificado raíz se utiliza para crear un certificado de servidor. Dado que el certificado raíz se encuentra en MCS, los clientes de Rational DOORS pueden validar el certificado del servidor utilizando MCS.
gsk8capicmd -cert -create -db server.kdb -pw ser123 -label "IBMEDCA1" -dn "CN=IBMEDCA1"
- -cert -create
- Este es el mandato create certificate (-create action
y -cert object).
- -label "IBMEDCA1"
- Se adjunta una etiqueta al certificado. En este ejemplo, el nombre es "IBMEDCA1". La etiqueta se utiliza para identificar de forma exclusiva el certificado mediante un usuario.
- -dn "CN=IBMEDCA1"
- El nombre distinguido -dn identifica de forma exclusiva el certificado. La entrada debe ser una cadena entre comillas con el siguiente formato (CN es el único obligatorio):
- CN=nombre común
- O=organización
- OU=unidad organizativa
- L=ubicación
- ST=estado, provincia
- C=país
- DC=componente de dominio
- EMAIL=dirección de correo electrónico
En este ejemplo, el nombre distinguido es "CN=IBMEDCA1".
gsk8capicmd -cert -extract -db server.kdb -pw ser123 -label "IBMEDCA1" -target temp1.arm
- -cert -extract -label "IBMEDCA1"
- Este es el mandato extract certificate (-extract action
y -cert object). El mandato extrae datos de certificado con el nombre
(-label"IBMEDCA1") desde la base de datos de claves y los ubica en un archivo.
- -target temp1.arm
- El archivo en el que se extrae el certificado.
gsk8capicmd -cert -add -db GSK_MS_CERTIFICATE_STORE -label "IBMEDCA1" -file temp1.arm
- -cert -add -db GSK_MS_CERTIFICATE_STORE
- Este es el mandato add certificate (-add action
y -cert object). El mandato añade el certificado que se extrajo (-label"IBMEDCA1" -file temp1.arm) en MCS (-db GSK_MS_CERTIFICATE_STORE).
Crear un certificado de servidor que está firmado con el certificado raíz
El certificado de servidor se almacena en el almacén de claves.
En este ejemplo, se escribe el nombre distinguido para un servidor que se ejecuta en un sistema que se denomina
IBMEDSERV.
gsk8capicmd -certreq -create -db server.kdb -label IBMSV1 -dn "CN=IBMEDSERV,dc=ukednode1" -file temp2.arm
- -certreq -create
- Este es el mandato create certificate request (-create action
y -certreq object).
- -label IBMSV1
- Se adjunta una etiqueta al certificado. En este ejemplo, el nombre es IBMSV1. La etiqueta se utiliza para identificar de forma exclusiva el certificado mediante un usuario. IBMSV1 es el nombre del certificado predeterminado que el servidor de Rational DOORS utilizará si no se especifica un nombre al iniciarse el servidor.
- -dn "CN=IBMEDSERV,dc=ukednode1"
- El nombre distinguido -dn identifica de forma exclusiva el certificado. En este ejemplo, el nombre distinguido es "CN=IBMEDSERV,dc=ukednode1".
Nota: La parte IBMEDSERV del nombre distinguido debe ser el nombre del servidor o el valor que se utiliza para -serverhostname si esta opción se utiliza cuando se haya iniciado el servidor.
- -file temp2.arm
- El nombre de archivo de la solicitud de certificado se extrae durante el proceso de creación de solicitud de certificado.
gsk8capicmd -cert -sign -db server.kdb -pw ser123 -label IBMEDCA1 -file temp2.arm -target temp3.arm
- -cert -sign
- Este es el mandato sign certificate (-sign action
y -cert object). El mandato permite firmar una solicitud de certificado mediante un certificado existente que se almacena en una base de datos de claves. El mandato acepta una solicitud de certificado en un formato de archivo especificado y con información detallada del certificado que contiene la clave privada que se utiliza durante el proceso de firma.
- -file temp2.arm
- El nombre y ubicación de la solicitud de certificado que se debe firmar.
- -target temp3.arm
- El nombre del archivo que contiene el certificado firmado.
gsk8capicmd -cert -receive -file temp3.arm -db server.kdb -pw ser123
- -cert -receive
- Este es el mandato receive certificate (-receive action
y -cert object). El mandato almacena un certificado que se ha solicitado para firmar una solicitud de certificado. El nombre del archivo del certificado que se recibirá.
- -file temp3.arm
- El nombre del archivo del certificado que se recibirá.
Copiar el certificado raíz para certificados desde
MCS y añadirlo en el almacén de claves del servidor
La parte del ejemplo permite al servidor validar los certificados.
gsk8capicmd -cert -extract -db GSK_MS_CERTIFICATE_STORE -label "CN=Coy Root" -target temp4.arm
- -cert -extract -db GSK_MS_CERTIFICATE_STORE -label -"CN=Coy
Root" target temp4.arm
- Este es el mandato extract certificate (-extract action
y -cert object). El mandato extrae datos de certificado con nombre (-label"CN=Coy Root") desde la base de datos de MCS
(-db GSK_MS_CERTIFICATE_STORE) y lo ubica en un archivo (temp4.arm).
gsk8capicmd -cert -add -db server.kdb -pw ser123 -label "CN=Coy Root" -file temp4.arm
- -cert -add -label "CN=Coy Root" -file temp4.arm
- Este es el mandato add certificate (-add action
y -cert object). El mandato añade un certificado al almacén de claves con nombre.
Nota: En estos mandatos, el nombre del certificado raíz es CN=Coy Root. El certificado raíz que utiliza tendrá un nombre más largo. Además, si su organización utiliza más de un certificado root, deberá extraer y añadir cada certificado raíz individualmente. Por ejemplo, un certificado raíz se puede aplicar a las tarjetas que los 500 usuarios utilizan y otro certificado raíz se puede aplicar a los 2.000 usuarios restantes. En este caso, debe añadir los dos certificados raíz server.kdb.