Member of The Internet Defense League Últimos cambios
Últimos Cambios
Blog personal: El hilo del laberinto Geocaching

Creación y gestión de una autoridad de certificación

Última Actualización: 26 de Marzo de 2.001 - Lunes

Este documento describe la creación y uso de una autoridad de configuración, utilizando el software OpenSSL. A lo largo de este documento se considera que ya lo tenemos instalado y configurado tal y como se describe en la documentación. La versión utilizada es la 0.9.6.

En todos los ejemplos, PathCA es el directorio donde reside la autoridad de certificación que estamos creando o usando.

Creación

Los pasos para crear una autoridad de certificación son:

  • Generar un árbol de directorios para la entidad de certificación:

    Suponiendo que la raíz del árbol sea PathCA, el árbol es

    PathCA/certs/
    PathCA/crl/
    PathCA/index.txt
    PathCA/newcerts/
    PathCA/private/
    PathCA/serial
    

    El directorio PathCA/private debe ser accesible exclusivamente por la entidad de certificación.

    El resto de directorios pueden ser accesibles en lectura por todos los usuarios.

    PathCA/serial es un fichero de texto que debe contener el texto "01", seguido de un "\n" (un salto de línea).

    PathCA/index.txt es un fichero de texto vacío.

  • Actualizamos el fichero de configuración del OpenSSL, típicamente llamado "openssl.cnf".

  • Generar una clave privada y un certificado.

    openssl req -new -x509 -keyout PathCA/private/CAkey.pem -out PathCA/CAcert.pem -days 365

    Recuerde que el fichero PathCA/private/CAkey.pem debe ser accesible exclusivamente a la entidad de certificación.

  • Examinamos la clave secreta generada con

    openssl rsa -in PathCA/private/CAkey.pem -text

  • Examinamos el certificado generado con

    openssl x509 -in PathCA/CAcert.pem -text

    openssl x509 -in PathCA/CAcert.pem -purpose

Alta de una nueva autoridad de certificación en el navegador

Para inyectar una nueva autoridad de certificación a un navegador, hay que pasarle el certificado (¡¡no la clave privada!!) con el tipo MIME "application/x-x509-ca-cert".

No obstante, NO es preciso que un certificado esté firmado por una entidad de certificación conocida por el navegador para que dicho certificado permita conexiones SSL seguras.

Firmado de un certificado de servidor

Una vez que recibimos una petición de un certificado por parte de un servidor, hacemos lo siguiente:

  • Supongamos que la petición de certificado está, por ejemplo, en Path/certreq.pem.

  • Vemos las características de la petición de certificado que nos llega, con

    openssl req -in Path/certreq.pem -text

    Hay que prestar especial atención a la parte que describe el uso del certificado.

  • Si el uso es adecuado y hemos verificado su identidad, podemos proceder a su firma mediante

    openssl ca -in Path/certreq.pem -verbose

  • Ahora tendremos el nuevo certificado, firmado, en PathCA/newcerts, con el número de serie que le corresponda. Podemos copiarlo a PathCA/certs, y enviar una copia al remitente original.

  • Podemos comprobar que PathCA/index.txt y PathCA/serial se han actualizado convenientemente.

Historia

  • 26/Mar/01: Alta de una nueva entidad de certificación en un navegador, firma de una solucitud de certificado.

  • 23/Mar/01: Primera versión de este documento.



Python Zope ©2001 jcea@jcea.es

Más información sobre los OpenBadges

Donación BitCoin: 19niBN42ac2pqDQFx6GJZxry2JQSFvwAfS