En el trabajo ahora me esta tocando lidiar con aspectos de seguridad. Me he creado una conexión segura en mi OC4J y para ello he tenido que desempolvar mis apuntes del Proyecto Fin de Carrera aka PFC.
En dicho proyecto parte del desarrollo consistía en firmar un applet para que pudiese realizar una serie de acciones especiales, como eran la escritura en disco y la conexión a direcciones de Internet.
La firma del applet es una certificación en la que se expone que una determinada persona o compañía a realizado dicho applet. Para firmar un applet hay que seguir los siguientes pasos:
Crear el fichero *.jar: lo primero que hay que hacer es agrupar todas las clases que conforman el applet en un fichero *.jar. Para ello se utiliza el comando jar con los parámetros cfm, estos parámetros indican:
- c: se va a crear un fichero.
- f: el nombre del fichero a crear.
- m: se va a utilizar un fichero de manifiesto. Este fichero guarda información relativa a las clases y librerías que conforman el applet.
Generar las claves: antes de firmar el applet hay que generar las claves con las que se va a firmar, para ello se genera una base de datos de claves.
La política que se sigue con la firma de las claves es la siguiente, un fichero *.jar se firma con la clave privada del creador del fichero *.jar y la firma es verificada por el receptor del fichero *.jar con la clave publica.
La herramienta que se utiliza para la generación de las claves es keytool. A continuación se muestra un ejemplo de su utilización.
keytool -genkey -alias ALIAS -keypass PASSWORD_ALIAS -keystore ALMACEN -storepass PASSWORD_ALMACEN -dname "cn=islamanzana.es"
Firmar el fichero *.jar: una vez generadas las claves oportunas hay que firmar el applet, para ello se utiliza la herramienta jarsigner, la cual mediante línea de comandos firma y verifica las firmas de ficheros jar. Un ejemplo de su utilización es:jarsigner -keystore ALMACEN -storepass PASSWORD_ALMACEN -keypass PASSWORD_ALIAS -signedjar ClienteFirmado.jar Cliente.jar ALIAS
Exportar el certificado de la clave pública: en algunos casos es necesario exportar un certificado con la clave pública utilizada, para que una entidad externa nos avale nuestra firma. También podemos crear nuestra propia autoridad certificadora con OpenSSL. Para exportar el certificado se utiliza también el comando keytool con el parámetro –export. Un ejemplo de su utilización es:
keytool -export -keystore ALMACEN -storepass PASSWORD_ALMACEN -alias ALIAS CertificacionCliente.cer
Obviamente, para el SSL no necesitamos realizar el punto 3, pero uno es un nostalgico…..
En su día, cuando realizé el PFC no utilicé el OpenSSL. A pesar de esto, espero publicar en breve un tutorial de como intalar una autoridad certificadora (CA)ikoni
[...] Pero estos días estoy siendo gestionado por un corolario de la anterior, lo cual ha hecho que me tenga que olvidar de instalar el OpenSSL y crear un SSL para un OC4J (adiós tutorial adiós). [...]