domingo, 4 de febrero de 2007

Creando certificados y claves privadas con openssl

Creando certificados y claves privadas con openssl:

Cómo instalar openssl: "sudo apt-get install openssl"

Cómo crear un certificado de CA:
cd /usr/share/doc/openvpn/examples/easy-rsa/2.0
Edita el fichero "vars" y cambia la configuración de KEY_COUNTRY, KEY_PROVINCE, KEY_CITY, KEY_ORG, y KEY_EMAIL. También he tenido que poner KEY_DIR. Luego ejecuta:
source vars
sudo ./clean-all
sudo ./build-ca
Y en el directorio "keys" podremos encontrar "ca.crt" (el certificado) y "ca.key" (la clave privada del certificado).

Esta clave es la más importante de toda la infraestructura PKI y sólo es necesaria para generar nuevos certificados de cliente o servidor. Por lo tanto, esta clave no tiene porqué estar en una máquina accesible.

Cómo crear un certificado y clave privada de servidor:
Ejecutamos:
sudo ./build-key-server nombre_del_servidor
Y en el directorio "keys" encontramos nombre_del_servidor.csr, nombre_del_servidor.crt y nombre_del_servidor.key y 01.pem (que contiene el certificado y la clave privada protegidas por la contraseña que se ha especificado durante la ejecución de build_key_server). El .csr lo podemos borrar y la clave (.key) sólo debe estar accesible a aquellos servicios (p.ej apache2, openvpn...) que la usen para firmar.

Cómo crear un certificado y clave privada de cliente:
Ejecutamos:
sudo ./buildkey cliente
Y en el directorio "keys" encontramos 02.pem, cliente.csr, cliente.crt y cliente.key. El cliente debe tener el fichero 02.pem y conocer la contraseña.

No hay comentarios: