lunes, 13 de abril de 2009

Generar Certificado PFX en Linux

Hola, hoy en día la gestión documental cumple un papel importante en las empresas que gestionan gran cantidad de documentos, sean contratos , facturas, ordenes de compra, etc.

Debido a que se han establecidos leyes que promueven la firma digital de documentos, muchas empresas además requieren que sus sistemas de gestión documental, workflow, bpm, etc. cuenten con la característica de poder firmar estos documentos digitalmente.

En Linux y con OpenSSL podemos generar los certificados necesarios para poder firmar los documentos, utilizando las apis de java que proveen esta característica, como las lib's de itext.

Vamos a ver a continuación como generamos estos certificados, utilizando el estándar x509 y el tipo pkcs12.

paso 1:

vamos a la consola y generamos con la siguiente linea de comandos los certificados pem.

slack@zion:~$ openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout certuno.pem -out certuno.pem
Generating a 1024 bit RSA private key
.........................................++++++
...............................++++++
unable to write 'random state'
writing new private key to 'certuno.pem'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:CL
State or Province Name (full name) [Some-State]:Region Metropolitana
Locality Name (eg, city) []:Santiago
Organization Name (eg, company) [Internet Widgits Pty Ltd]:0X Chile
Organizational Unit Name (eg, section) []:BPS
Common Name (eg, YOUR name) []:Jorge Salomon
Email Address []:jorgeleonardo.salomon@0x.com

luego debemos importar este certificado pem a formato pfx, el estandar para firmar documentos, para esto debemos imgresar clave al certificado.

paso 2:

slack@zion:~$ openssl pkcs12 -export -out certuno.pfx -in certuno.pem -name "certificado uno"
Enter Export Password:
Verifying - Enter Export Password:

Luego de estos dos pasos, utilizando OpenSSL, podemos utilizar este certificado pfx en cualquier aplicación web para firmar documentos, en mi caso desarrolle una aplicación J2ee que hace esta implementación.

Saludos y Suerte !!

1 comentario:

Silvestre dijo...

Hola, te cuento que estoy por empezar un desarrollo en java.. algo con servlet y necesitaba esta info.
lo que queria pedirte es si tenes algo mas de data, una libreria o tuto para utilizar estos certificados en java.
Estoy trabajando con HL7 CDA para documentos clinicos y necesito "asegurar" que el documento ingresado esta certificado por un medico.
Saludos y muchas gracias!!