Para tener una conexión de red segura, cree una clave para comunicaciones de red seguras y reciba un certificado de una autoridad de certificados (CA), designada en su servidor como CA de confianza. Utilice IKEYMAN para crear bases de datos de claves, parejas de claves pública-privada y peticiones de certificado. Si actúa como su propia CA, puede utilizar IKEYMAN para crear certificados autofirmados. Si actúa como su propia CA para una red Web privada, tiene la opción de utilizar la utilidad CA de servidor para generar y emitir certificados firmados a clientes y servidores de su red privada.
Utilice IKEYMAN para tareas de configuración relacionadas con creación y gestión de claves pública-privada. No puede utilizar IKEYMAN para opciones de configuración que actualicen el archivo de configuración del servidor, httpd.conf. Para opciones que actualicen el archivo de configuración de servidor, ha de utilizar IBM Administration Server.
Usuarios de Linux for S/390: Utilice la interfaz de línea de mandatos IKEYCMD para llevar a cabo funciones similares a IKEYMAN. Consulte Uso de la interfaz de línea de mandatos de IKEYCMD para obtener información detallada sobre IKEYCMD.
Este apéndice proporciona información detallada sobre las tareas que puede realizar utilizando el programa de utilidad de gestión de claves de IBM (IKEYMAN). Esta información no explica cómo configurar opciones de seguridad que precisen actualizaciones en el archivo de configuración del servidor.
La GUI de IKEYMAN está basada en Java y, para poder ejecutarse necesita JDK o JRE. El nivel mínimo de JDK para soporte de IKEYMAN es:
En Windows y Solaris, las bibliotecas GSKit instaladas como parte del componente SSL incluyen JRE. En estas plataformas no son precisas configuraciones de entorno adicionales. Para ejecutar en AIX, HP o Linux o para utilizar otro JDK en Solaris, establezca el entorno del sistema utilizando la guía siguiente:
EXPORT JAVA_HOME=vía de acceso completa al directorio de inicio del JDK
EXPORT PATH = <vía de acceso completa al directorio de inicio del JDK> /jre/sh:<vía de acceso completa al directorio de inicio del JDK>/sh:$PATH
EXPORT PATH=$IKEYMAN_HOME/bin:$PATH
Usuarios de Linux for S/390: Consulte Uso de la interfaz de línea de mandatos de IKEYCMD para obtener información detallada sobre IKEYCMD. Para ejecutar IKEYMAN en Linux for S/390, configure las variables de entorno para que utilicen la interfaz de línea de mandatos de IKEYCMD según se muestra:
EXPORT PATH=/opt/IBMJava/bin:$PATH
EXPORT CLASSPATH=/usr/local/ibm/gsk/classes/cfwk.zip:/usr/local/ibm/ gsk/classes/gsk4cls.jar:$CLASSPATH
Una vez terminado, IKEYCMD debería ejecutarse desde cualquier directorio. Para ejecutar el mandato IKEYCMD, utilice la sintaxis siguiente:
java com.ibm.gsk.ikeyman.ikeycmd <mandato>Nota: Puede sustituirse JRE por Java, según si se utiliza JRE o JDK. Ejemplo:
jre com.ibm.gsk.ikeyman.ikeycmd <mandato>
Todos los IKEYCMD (salvo crear base de datos) precisan de la especificación de contraseña y base de datos de claves para la base de datos de clave. Esto es obligatorio ya que la base de datos se abre con todo mandato que se ejecute. Para obtener más información sobre IKEYCMD, consulte Uso de la interfaz de la línea de mandatos de IKEYCMD.
El apartado siguiente describe cómo iniciarse y utilizar IKEYMAN o la interfaz de línea de mandatos IKEYCMD.
Para arrancar la interfaz gráfica de usuario de IKEYMAN:
Nota: Si inicia IKEYMAN para crear un archivo de base de datos de claves nuevo, dicho archivo se almacenará en el directorio desde el que inició IKEYMAN.
Para tener una conexión de red segura, cree una clave para comunicaciones de red seguras y reciba un certificado de una autoridad de certificados (CA), designada en su servidor como CA de confianza. Utilice IKEYMAN (o IKEYCMD en Linux for S/390) para crear el archivo de base de datos de claves, pares de claves pública-privada y peticiones de certificado. Una vez que reciba el certificado firmado de la CA, utilice IKEYMAN (o IKEYCMD en Linux for S/390) para recibir el certificado en la base de datos de claves en la que creó la petición original de certificado.
Esta sección proporciona una referencia rápida de las tareas de IKEYMAN y IKEYCMD y descripciones de tareas comunes.
Las tareas de la interfaz de usuario de IKEYMAN y de la interfaz de línea de
mandatos de IKEYCMD se resumen en la tabla siguiente.
Tareas de IKEYMAN y IKEYCMD | Para obtener instrucciones, vaya a: |
---|---|
Crear una base de datos nueva y especificar la contraseña de base de datos |
|
Crear una pareja de claves nuevas y una petición de certificado |
|
Crea un certificado autofirmado |
|
Exportar una clave a otra base de datos o archivo PKCS12 |
|
Importar una clave de otra base de datos o archivo PKCS12 |
|
Lista de autoridades de certificado (CA) y peticiones de certificado |
|
Abrir una base de datos nueva |
|
Recibir un certificado firmado de CA en una base de datos de claves |
|
Mostrar la clave por omisión de una base de datos nueva |
|
Almacenar el certificado raíz de una CA |
|
Almacenar la contraseña de base de datos cifrada en un archivo oculto |
|
Una base de datos de claves es un archivo que utiliza el servidor para almacenar una o más parejas de claves y certificados. Puede utilizar una base de datos de claves para todos los pares de claves y certificados o crear múltiples bases de datos.
Para crear una base de datos de claves nueva:
Usuarios de Linux for S/390: Consulte Uso de la interfaz de línea de mandatos de IKEYCMD para obtener información detallada sobre IKEYCMD. Para cualquier operación de la base de datos de claves es necesaria una contraseña. Incluso para una base de datos del tipo sslight hay que especificar una contraseña, ésta puede ser la cadena NULL (que se especifica como ""). Para crear una base de datos de claves nueva utilizando la interfaz de línea de mandatos IKEYCMD, entre el mandato siguiente:
java com.ibm.gsk.ikeyman.ikeycmd -keydb -create -db <nombrearchivo>.kdb -pw <contraseña> -type cms -expire <días> -stash
Cuando se especifica la opción -stash en la creación de una base de datos de claves, la contraseña se almacena en un archivo cuyo nombre se construye de la forma siguiente:
<nombre de archivo de la base de datos de claves>.sthPor ejemplo, si la base de datos que se crea se llama keydb.kdb, el nombre de archivo para almacenarla es keydb.sth.
Cuando crea una base de datos de claves nueva, se especifica una contraseña. Esta contraseña protege la clave privada. La clave privada es la única clave que puede firmar documentos o descifrar mensajes cifrados con la clave pública. Es una buena práctica cambiar con frecuencia la contraseña de la base de datos de claves.
Utilice las normas siguientes para especificar la contraseña:
Nota: | Tenga en cuenta la fecha de caducidad de la contraseña. Si la contraseña caduca, se anota un mensaje en el registro de anotaciones cronológicas. El servidor se iniciará, pero no habrá conexión de red segura si la contraseña ha caducado. |
Para cambiar la contraseña de la base de datos:
Usuarios de Linux for S/390: Para obtener más información sobre IKEYCMD, consulte Uso de la interfaz de la línea de mandatos de IKEYCMD. Para cambiar la contraseña de la base de datos, entre:
java com.ibm.gsk.ikeyman.ikeycmd -keydb -changepw -db <nombrearchivo>.kdb -pw <contraseña> <contraseña_nueva> -expire <días> -stash
El valor de configuración inicial para el nombre de base de datos de clave por omisión es key.kdb. Si utiliza key.kdb como nombre de base de datos de claves por omisión, no tiene que registrar la base de datos contra el servidor. El servidor utilizará los valores iniciales de la directiva KeyFile del archivo de configuración. Si no utiliza key.kdb como nombre de base de datos de claves por omisión o, si crea bases de datos de claves adicionales, ha de registrar esas bases de datos.
Las parejas de claves y las peticiones de certificado se almacenada en una base de datos de claves. Para crear una pareja de claves pública-privada y una petición de certificado:
Usuarios de Linux for S/390: Consulte Uso de la interfaz de línea de mandatos de IKEYCMD para obtener información detallada sobre IKEYCMD. Para crear una pareja de claves pública-privada y una petición de certificado:
java com.ibm.gsk.ikeyman.ikeycmd -certreq -create -db <nombre_bd>.kdb -pw <contraseña> -size <1024 | 512> -dn<nombre_distintivo> -file <nombrearchivo> -label <etiqueta>donde:
"CN=weblinux.raleigh.ibm.com,O=ibm,OU=IBM HTTP Server,L=RTP,ST=NC,C=US"
java com.ibm.gsk.ikeyman.ikeycmd -certreq -list -db <nombrearchivo> -pw <contraseña>Debería ver en la lista la etiqueta que acaba de crear.
La obtención de un certificado de una CA de renombre tarda normalmente de dos a tres semanas. Mientras espera a recibir el certificado emitido, utilice IKEYMAN para crear un certificado de servidor autofirmado para habilitar sesiones SSL entre clientes y el servidor. Utilice este procedimiento si está actuando como su propia CA para una red web privada.
Para crear un certificado autofirmado:
Usuarios de Linux for S/390: Consulte Uso de la interfaz de línea de mandatos de IKEYCMD para obtener información
detallada sobre IKEYCMD. Para crear un certificado autofirmado:
Entre el mandato siguiente:
java com.ibm.gsk.ikeyman.ikeycmd -cert -create -db <nombre_bd>.kdb -pw <contraseña> -size <1024 | 512> -dn<nombre distintivo> -label <etiqueta> -default_cert <yes o no>donde:
"CN=weblinux.raleigh.ibm.com,O=ibm,OU=IBM HTTP Server,L=RTP,ST=NC,C=US"
Usuarios de Linux for S/390: Consulte Uso de la interfaz de línea de mandatos de IKEYCMD para obtener información detallada sobre IKEYCMD.
Usuarios de Linux for S/390: Consulte Uso de la interfaz de línea de mandatos de IKEYCMD para obtener información detallada sobre IKEYCMD.
Para visualizar una lista de las autoridades de certificado de confianza (CA) de la base de datos de claves:
Usuarios de Linux for S/390: Consulte Uso de la interfaz de línea de mandatos de IKEYCMD para obtener información detallada sobre IKEYCMD. Para visualizar una lista de las CA de confianza en la base de datos:
java com.ibm.gsk.ikeyman.ikeycmd -cert -list CA -db <nombre_bd>.kdb -pw <contraseña> -type cms
Para abrir una base de datos de claves existente:
Usuarios de Linux for S/390: Consulte Uso de la interfaz de línea de mandatos de IKEYCMD para obtener información detallada sobre IKEYCMD. No hay apertura explícita para una base de datos de claves. Para cada mandato, se especifican las opciones de contraseña y base de datos y estas especificaciones proporcionan la información necesaria para operar en la base de datos de claves.
Utilice este procedimiento para recibir un certificado de una autoridad de certificados (CA), designada en su servidor como CA de confianza. Por omisión, los certificados de CA siguientes están almacenados en la base de datos de claves y marcados como certificados CA de confianza:
La Autoridad de certificados puede enviar más de un certificado. Adicionalmente al certificado del servidor, la CA también puede enviar certificados adicionales de Firma o certificados CA intermedios. Por ejemplo, Verisign incluye un Certificado de CA intermedio cuando se envía un certificado de Id de servidor global. Antes de recibir el certificado de servidor, obtenga los certificados de CA intermedios adicionales. Siga las instrucciones de Almacenamiento de un certificado de CA para recibir Certificados de CA intermedios.
Nota: Si la CA que emite el certificado firmado por la CA no es una CA de confianza en la base de datos, antes ha de almacenar el certificado de CA y designar la CA como CA de confianza. A continuación puede recibir el certificado firmado por la CA en la base de datos. No podrá recibir un certificado firmado por CA de una CA que no sea fiable. Para obtener instrucciones, consulte Almacenamiento de un certificado de CA.
Para recibir el certificado firmado de la CA en una base de datos de claves:
Usuarios de Linux for S/390: Consulte Uso de la interfaz de línea de mandatos de IKEYCMD para obtener información detallada sobre IKEYCMD. Para recibir el certificado firmado de la CA en una base de datos de claves, entre el mandato siguiente:
java com.ibm.gsk.ikeyman.ikeycmd -cert -receive -file <nombrearchivo> -db <nombre_bd> .kdb -pw <contraseña> -format <ascii | binary> -default_cert <yes | no>
Para visualizar la clave por omisión entre:
Usuarios de Linux for S/390: Consulte Uso de la interfaz de línea de mandatos de IKEYCMD para obtener información detallada sobre IKEYCMD. Para visualizar la clave por omisión entre:
java com.ibm.gsk.ikeyman.ikeycmd -cert -getdefault -db <nombre_bd>.kdb -pw <contraseña>
Para almacenar un un certificado de una CA que no sea fiable:
Usuarios de Linux for S/390: Consulte Uso de la interfaz de línea de mandatos de IKEYCMD para obtener información detallada sobre IKEYCMD. Para almacenar un un certificado de una CA que no sea fiable:
java com.ibm.gsk.ikeyman.ikeycmd -cert -add -db <nombre_archivo>.kdb -pw <contraseña> -label <etiqueta> -format <ascii | binary> -trust <enable |disable> -file <archivo>donde:
Para una conexión de red segura, almacene la contraseña de base de datos cifrada en un archivo stash (oculto).
Para almacenar la contraseña hasta que se crea una base de datos:
Usuarios de Linux for S/390: Consulte Uso de la interfaz de línea de mandatos de IKEYCMD para obtener información detallada sobre IKEYCMD. Para almacenar la contraseña hasta que se crea una base de datos:
java com.ibm.gsk.ikeyman.ikeycmd -keydb -create -db <vía_de_acceso>/<nombre_bd>.kdb -pw <contraseña> -type cms -expire <días> -stash
Para almacenar la contraseña después de crear una base de datos:
Usuarios de Linux for S/390: Consulte Uso de la interfaz de línea de mandatos de IKEYCMD para obtener información detallada sobre IKEYCMD. Para almacenar la contraseña después de crear una base de datos:
java com.ibm.gsk.ikeyman.ikeycmd -keydb -stashpw -db <nombre_bd>.kdb -pw <contraseña>
En Linux for S/390, IKEYCMD, la interfaz de línea de mandatos de Java para IKEYMAN, proporciona las opciones necesarias para crear y gestionar claves, certificados y peticiones de certificados. Si actúa como su propia CA, puede utilizar IKEYCMD para crear certificados autofirmados. Si actúa como su propia CA para una red Web privada, tiene la opción de utilizar la utilidad CA de servidor para generar y emitir certificados firmados a clientes y servidores de su red privada.
Utilice IKEYCMD para tareas de configuración relacionadas con creación y gestión de claves pública-privada. No puede utilizar IKEYCMD para opciones de configuración que actualicen el archivo de configuración del servidor, httpd.conf. Para opciones que actualicen el archivo de configuración de servidor, ha de utilizar IBM Administration Server.
IKEYCMD utiliza Java y la invocación de línea de mandatos nativa, habilitando la posibilidad de script de tarea de IKEYMAN.
La sintaxis de Java CLI es:
java [-Dikeycmd.properties=<archivo_de_propiedades>] com.ibm.gsk.ikeyman.ikeycmd <object> <action> [opciones]
donde:
-Dikeycmd.properties |
|
Object es uno de los siguientes:
-keydb |
|
-cert |
|
-certreq |
|
-help |
|
-version |
|
Acción es la acción concreta a realizar en el objeto y opciones son las opciones, tanto las obligatorias como las opcionales, especificadas para la pareja objeto y acción.
NOTA: Las palabras claves object y action son posicionales y han de especificarse en el orden seleccionado. No obstante, las opciones no son posicionales y pueden especificarse en cualquier orden, siempre que se especifiquen como pareja opción y operador.
La tabla siguiente describe cada acción que puede especificarse en
un objeto determinado.
Objeto | Acciones | Descripción |
---|---|---|
-keydb | -changepw | Cambia la contraseña de una base de datos de claves
|
-convert | Convierte la base de datos de un formato a otro
| |
-create | Crea una base de datos de claves
| |
-delete | Suprime la base de datos de claves
| |
-stashpw | Oculta la contraseña de una base de datos de claves en una archivo
| |
-cert | -add | Añade un certificado de CA de un archivo a una base de datos de claves
|
-create | Crea un certificado autofirmado
| |
-delete | Suprime un certificado de CA
| |
details | Lista información detallada de un certificado específico
| |
-export | Exporta un certificado personal y su clave privada
asociada de una base de datos de claves de un archivo PKCS#12, o a otra base de datos de claves
| |
-extract | Extrae un certificado de una base de datos de claves
| |
-getdefault | Obtiene el certificado personal por omisión
| |
-import | Importa un certificado de una base de datos de claves o de un archivo PKCS#12
| |
-list | Muestra una lista de todos los certificados
| |
-modify | Modifica un certificado (NOTA: Actualmente, el único campo que
puede modificarse es el campo Confianza de certificado)
| |
-receive | Recibe un certificado de un archivo a una base de datos de claves
| |
-setdefault | Establece el certificado personal por omisión
| |
-sign | Firma un certificado almacenado en un archivo con un
certificado almacenado en una base de datos de claves y almacena el certificado firmado
resultante en un archivo
| |
-certreq | -create | Crea una petición de certificado
|
-delete | Suprime una petición de certificado de una base de
datos de petición de certificados
| |
-details | Lista información detallada de una petición de certificado específica
| |
extract | Extrae una petición de certificado de una base de
datos de petición de certificados a un archivo
| |
-list | Muestra una lista de todas las peticiones
de certificados de la base de datos de petición de certificados
| |
-recreate | Vuelve a crear una petición de certificado
| |
-help | Muestra información de ayuda para el mandato IKEYCMD
| |
-version | Visualiza información sobre la versión de IKEYCMD
|
La tabla siguiente muestra las opciones que pueden presentarse en la línea de mandatos. Las opciones se listan como un grupo completo. No obstante, su uso depende del objeto y acción especificados en la línea de mandatos.
Opción | Descripción |
---|---|
-db | Nombre de vía de acceso calificada al completo
de una base de datos de claves.
|
-default_cert | Establece un certificado a utilizar como
certificado por omisión para autentificación de cliente (sí o no - yes o no).
El valor por omisión es no.
|
-dn | Nombre distintivo de X.500. Entrada en forma de
cadena entrecomillada con el formato siguiente (sólo CN, O y C son obligatorios):
"CN=David Hortas,O=Consorcio pesquero,OU=Estudios de impacto medioambiental,L=Cádiz, ST=AND,ZIP=11500,C=España" |
-encryption | Nivel de cifrado utilizado en el mandato
de exportación de certificado: seguro o normal (strong o weak).
El valor por omisión es strong.
|
-expire | Tiempo de vigencia, bien de un certificado, bien de
una contraseña de base de datos (en días). Los valores por omisión son: 365 días
para un certificado y 60 para una contraseña de base de datos.
|
-file | Nombre de archivo de un certificado o petición
de certificado (según lo especificado en objeto).
|
-format | Formato de un certificado (ascii
para ASCII codificado en Base_64 o binary para datos DER binarios). El valor por omisión es ascii.
|
-label | La etiqueta adjunta a un certificado o
petición de certificado.
|
-new_format | Nuevo formato de base de datos de claves.
|
-new_pw | Nueva contraseña de base de datos.
|
-old_format | Formato antiguo de base de datos de claves.
|
-pw | Contraseña de la base de datos de claves o archivo PKCS#12.
Consulte Creación de una base de datos de claves nueva.
|
-size | Tamaño de clave (512 ó 1024). El valor por omisión es 1024.
|
-stash | Indicador para ocultar en un archivo la contraseña de la base de datos de claves.
Si se especifica, la contraseña se ocultará en un archivo.
|
-target | Base de datos o archivo de destino.
|
-target_pw | Contraseña para la base de datos de claves si
-target especifica una base de datos de claves. Consulte Creación
de una base de datos de claves nueva.
|
-target_type | Tipo de base de datos especificada por el operador
-target (consulte -type).
|
-trust | Estado la fiabilidad de un certificado de CA: habilitado o deshabilitado (enable o disable).
El valor por omisión es enable.
|
-type | Tipo de base de datos. Los valores permitidos son cms (indica
una base de datos de claves CMS), webdb (indica un archivo de claves), sslight (indica un SSLight
.class) o pkcs12 (indica un archivo PKCS#12).
|
-x509version | Versión del certificado X.509 a crear (1, 2 ó 3).
El valor por omisión es 3.
|
A continuación se muestra una lista de las invocaciones de línea de mandatos, estando los parámetros opcionales especificados en cursiva.
Nota: Para simplificar, la invocación Java real, java com.ibm.gsk.ikeyman,iKeycmd, se omite en las invocaciones de los mandatos.
-keydb -changepw -db <nombrearchivo> -pw <contraseña> -new_pw <contraseña_nueva> -stash -expire <días> -keydb -convert -db <nombrearchivo> -pw <contraseña> -old_format <cms | webdb> -new_format <cms> -keydb -create -db <nombrearchivo> -pw <contraseña> -type <cms | sslight> -expire <días> -stash -keydb -delete -db <nombrearchivo> -pw <contraseña> -keydb -stashpw -db <nombrearchivo> -pw <contraseña>
-cert -add -db <nombrearchivo> -pw <contraseña> -label <etiqueta> -file <nombrearchivo> -format <ascii | binary> -trust <enable | disable> -cert -create -db <nombrearchivo> -pw <contraseña> -label <etiqueta> -dn <nombredistintivo> -size <1024 | 512> -x509version <3 | 1 | 2> -default_cert <no | yes> -cert -delete -db <nombrearchivo> -pw <contraseña> -label <etiqueta> -cert -details -db <nombrearchivo> -pw <contraseña> -label <etiqueta> -cert -export -db <nombrearchivo> -pw <contraseña> -label <etiqueta> -type <cms | sslight> -target <nombrearchivo> -target_pw <contraseña> -target_type <cms | sslight | pkcs12> -encryption <strong | weak> -cert -extract -db <nombrearchivo> -pw <contraseña> -label <etiqueta> -target <nombrearchivo> -format <ascii | binary> -cert -getdefault -db <nombrearchivo> -pw <contraseña> -cert -import -db <nombrearchivo> -pw <contraseña> -label <etiqueta> -type <cms | sslight> -target <nombrearchivo> -target_pw <contraseña> -target_type <cms | sslight> -cert -import -file <nombrearchivo> -type <pkcs12> -target <nombrearchivo> -target_pw <contraseña> -target_type <cms | sslight> -cert -list <all | personal | CA | site> -db <nombrearchivo> -pw <contraseña> -type <cms | sslight> -cert -modify -db <nombrearchivo> -pw <contraseña> -label <etiqueta> -trust <enable | disable> -cert -receive -file <nombrearchivo> -db <nombrearchivo> -pw <contraseña> -format <ascii | binary> -default _cert <no | yes> -cert -setdefault -db <nombrearchivo> -pw <contraseña> -label <etiqueta> -cert -sign -file <nombrearchivo> -db <nombrearchivo> -pw <contraseña> -label <etiqueta> -target <nombrearchivo> -format <ascii | binary> -expire <días>
-certreq -create -db <nombrearchivo> -pw <contraseña> -label <etiqueta> -dn <nombre_distintivo> -size <1024 | 512> -file <nombrearchivo> -certreq -delete -db <nombrearchivo> -pw <contraseña> -label <etiqueta> -certreq -details -db <nombrearchivo> -pw <contraseña> -label <etiqueta> -certreq -extract -db <nombrearchivo> -pw <contraseña> -label <etiqueta> -target <nombrearchivo> -certreq -list -db <nombrearchivo> -pw <contraseña> -certreq -recreate -db <nombrearchivo> -pw <contraseña> -label <etiqueta> -target <nombrearchivo>
-help
-version
Para ahorrar el teclear en las invocaciones de Java CLI, las propiedades de usuario pueden especificarse en un archivo de propiedades. El archivo de propiedades puede especificarse en una invocación de línea de mandatos Java por medio de la opción de Java -Dikeycmd.properties. Como ejemplo, se proporciona un archivo de propiedades ikeycmd.properties, para habilitar aplicaciones Java que modifican los valores por omisión de sus aplicaciones.