jueves, 15 de octubre de 2009

Crear un Certificado Digital


En algunas ocasiones se necesita una conexión segura, por ejemplo cuando navegamos por internet y entramos en los servicios telemáticos de nuestro banco, accedemos a una pasarela de pago en una web de comercio electrónico en la que estamos comprando, o entramos a un gestor documental como el InterDOC de Corex dónde tenemos almacenada documentación que puede ser confidencial.

Para ello, en la actualidad, se utilizan los certificados digitales que se basan en la criptografía de clave pública (ya veremos esto en otro post).

Básicamente existen certificados de dos tipos, los firmados por una autoridad de certificación (CA) y los autofirmados.

En los primeros, la CA garantiza que el certificado es auténtico, corresponde a quién dice que corresponde... pero tienen un coste.

En los segundos quien asegura su autenticidad es el propio ordenador del mismo... y son gratis.

Está claro que para un sitio Web de comercio electrónico dónde entre el gran público y que puede no confiar en nosotros no es muy adecuado el segundo, pero para una aplicación restringida, como pueda ser el InterDOC anteriormente citado, sería adecuado porque el usuario de la misma ya confía en el ordenador, es decir, nosotros.

En este post vamos a ver "Cómo podemos crear un certificado digital con Linux" (digo con porque se crea en Linux pero además se podrá utilizar posteriormente en un servidor Web Microsoft como el IIS)

En ambos casos lo primero que debemos realizar es generar el par de claves pública/privada para el certificado, lo que se efectúa con el siguiente comando:

openssl genrsa 1024 > clave.key

O si queremos ponerle contraseña para que nadie lo utilice:

openssl genrsa -des3 1024 > clave.key

En este caso nos pedirá la contraseña al crearlo y posteriormente al utilizarlo.

El siguiente paso es la generación del certificado. Podemos generarlo autofirmado con el siguiente comando:

openssl req -new -key clave.key -x509 -days 365 -out cert.crt

Si queremos generarlo para que nos lo firme una CA, utilizaríamos el siguiente comando:

openssl req -new -key clave.key -out cert.csr

En ambos casos nos solicitará información administrativa del emisor (ordenador) del certificado.

Por último sólo nos queda su instalación en el servidor Web, lo que veremos en otro post, así como la creación de una entidad certificadora (CA) propia que nos permita la firma de nuestros propios certificados (recordemos, no seremos una CA reconocida, necesitaremos que nuestros usuarios confíen en nosotros).

No hay comentarios:

Publicar un comentario