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 !!

Error al arrancar Eclipse

Hola, en algunos casos el sistema operativo se marea con la jvm que ocupa, esto generalmente ocurre cuando hacemos alguna actualización de algún paquete con el gestor o comando alternatives.
Y cuando queremos arrancar eclipse desde el lanzador del escritorio, simplemente no lo abre. y comenzamos con cuestionamientos... jajajaj..., en este caso lo logico es que queramos abrirlo por consola con el comando

slack@zion:programas/eclipse$ ./eclipse
LOG: [0xb7eb66b0] exception thrown while VM is initializing:
LOG: [0xb7eb66b0] NULL: java.lang.Object
LOG: [0xb7eb66b0] Aborting...
Aborted

desplegando el mensaje de error que se ve, lo bueno de esto es que existe una rapida solución.

En la misma consola ejecutamos el siguiente comando para comprobar las jvm disponibles para usar en el sistema,

slack@zion:~/programas/eclipse$ sudo update-alternatives --config java
[sudo] password for slack:

Hay 2 alternativas que proveen `java'.

Selección Alternativa
-----------------------------------------------
1 /usr/lib/jvm/java-1.5.0-sun/jre/bin/java
*+ 2 /usr/lib/jvm/java-6-cacao/jre/bin/java

Pulse para mantener el valor por omisión [*] o pulse un número de selección: 1
Se utiliza `/usr/lib/jvm/java-1.5.0-sun/jre/bin/java' para proporcionar `java'.

Luego comprobamos que la opcion seleccinada sea la que tome el sistema como version de uso para java.

slack@zion:~/programas/eclipse$ java -version
java version "1.5.0_16"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_16-b02)
Java HotSpot(TM) Server VM (build 1.5.0_16-b02, mixed mode)


Con esto debieramos tener solucionado el tema de incompatibilidad de jvm con eclipse, al menos.

Saludos y Suerte !!