Consta de 2 partes:
  • Creación de Firmas Digitales firmadas por Autoridad Certificadora con OpenSSL
  • Utilización de Firmas Digitales para inicio de sesión en aplicaciones Java, .NET, etc. (elegir 1)

Creación de Firmas Digitales firmadas por Autoridad Certificadora con OpenSSL


Para realizar esta tarea solo necesitamos : tener instalado OpenSSL en nuestra máquina(Se puede hacer en nuestra máquina real con Windows 7) y el programa para que nos firme los certificados (XolidoSign).

OJO!!!! : HAY QUE EJECUTAR LA CONSOLA COMO ADMINISTRADOR, SI NO DARÁ FALLOS
MUCHO OJO TAMBIÉN CON EL COMMON NAME, NO SE PUEDE PONER EL MISMO NOMBRE EN LOS DOS.
- Lo primero que tenemos que hacer es generar una clave de 4096 bits para nuestra entidad emisora raíz, nosotros la hemos llamado ca.key. Si queremos ponerle contraseña tenemos que poner en el comando : -des3
openssl genrsa  -des3 -out ca.key 4096
- Una vez finalizado lo anterior, creamos un certificado de entidad, que lo necesitaremos para la entidad emisora raiz.
 openssl req  -new  -x509 -days 1826 -key ca.key -out ca.crt
Nos pedirá que introduzcamos la información del certificado, como nombre del país,estado o provincia,localidad... Si queremos dejar algunos campos en blancos solo tenemos que ponerle un guion.

- Nos vamos al certificado creado,hacemos doble click y le damos a Instalar Certificado.
- Ahora tenemos que crear nuestra Autoridad Certificadora subordinada, que nos hará falta para que se haga efectiva la firma.En primer lugar generamos la clave :
   openssl genrsa  -out  ia.key 4096

- Le solicitamos un certificado de la entidad emisora creada anteriormente

openssl req -new -key ia.key -out ia.csr

De nuevo, nos pedirá que introduzcamos información del certificado.
-Ahora, procesamos la solicitud para el certificado de la Autoridad Certificadora subordinada y lograr que se firme por la Autoridad Certificadora raíz.
 openssl x509 -req -days 730 -in ia.csr -CA ca.crt -CAkey  ca.key -set_serial 01 -out ia.crt

El certificado tendrá una validez de dos años y le pusimos nuestro propio número de serie 01.Para la Autoridad Certificadora raíz,hemos dejado que OpenSSL genere uno automático.
-Le damos formato PKCS12 para pasarlo a binario y darle un formato valido en windows:
  openssl pkcs12 -export -out ia.p12 -inkey ia.key -in ia.crt -chain  -CAfile ca.crt
Una vez hecho esto, nos vamos al programa XolidoSign, le damos a firmar y seleccionamos el certificado a firmar.


Páginas Utilizadas :
http://blog.didierstevens.com/2008/12/30/howto-make-your-own-cert-with-openssl/