Cristhian Herrera

Residencia: Quito (Ecuador)

Cristhian.Herrera@gmail.com / cherrera@kruger.com.ec

Cuento con experiencia en el área de desarrollo de software y en la docencia académica. Dentro de la construcción de software he manejado las etapas de: análisis, diseño, personalización e implementación de aplicaciones bajo ambientes Cliente / Servidor e Internet.

Ver todos los tutoriales del autor

Fecha de publicación del tutorial: 2006-01-02

Tutorial visitado 35.058 veces Descargar en PDF
Firmar Applets usando keytool y jarsigner

FIRMAR APPLETS USANDO KEYTOOL Y JARSIGNER

 

 

Es necesario generar un applet que utilice las herramientas para firmado de certificados digitales proporcionadas en el JDK estándar de SUN, estas herramientas son “jar”, “keytool” y “jarsigner”.

 

Se utilizará Eclipse como IDE, y se emplea un applet que accede a las propiedades de la máquina local para leer el usuario y el macaddres.

 

 

 

Pasos para firmar el applet

 

a)      Desarrollar el applet y escribir las funciones necesarias

 

Tips:

·         Incluir el  import java.security.*;

·         En el método init se debe escribir lo siguiente

 

public void  init()

{ 

      AccessController.doPrivileged(new PrivilegedAction()

             {

               public Object run()

         {

                         try

                         {

     // Código del método INIT

  }

  catch(Exception e)

  {

 

  }

        

              return null;

             }

   });          

}

 

 

b)      Desde el IDE probar el funcionamiento del applet.

 

 

 

 

c)      Generar un jar empaquetando las clases necesarias.

 

     jar cvf NetworkInfoMyApplet.jar NetworkInfoMyApplet.class    

 

 

      

 

 

d)      Utilizar keytool para generar un certificado, éste se almacena en un archivo keystore.

 

keytool -genkey -alias signFilesPrueba -keypass kpi135 -keystore storePrueba -storepass ab987c

 

Al momento de generar el archivo de certificado se nos preguntará algunos datos, en el caso que nos ocupa éstos se llenaron con la siguiente información:

 

 

Cuáles son su nombre y su apellido?

[Unknown]:  Prueba Ecuador

Cuál es el nombre de su unidad de organización?

[Unknown]:  Prueba

Cuál es el nombre de su organización?

[Unknown]:  Prueba

Cuál es el nombre de su ciudad o localidad?

[Unknown]:  Pichincha

Cuál es el nombre de su estado o provincia?

[Unknown]:  Pichincha

Cuál es el código de país de dos letras de la unidad?

[Unknown]:  EC

Es correcto CN=Prueba Ecuador, OU=Prueba, O=Prueba, L=Quito, ST=Pichincha, C=EC?

[no]:  Y

 

 

Donde:

 

 

keystore

Especifica el URL (Path/Ubicación) del archivo keystore  (certificado)

storepass

Especifica la clave que es requerida para acceder al keystore.

keypass

Especifica la clave usada para proteger la clave privada del archivo keystore especificado en la línea de comandos

alias

Alias para el archivo de certificado

 

 

 

 

e)      Utilizar la herramienta jarsigner para firmar el applet.

 

jarsigner -keystore C:\j2sdk1.4.2_07\bin\storePrueba NetworkInfoMyApplet.jar signFilesPrueba -storepass ab987c -keypass kpi135 –signedjar

Enter Passphrase for keystore: ab987c

Enter key password for signFilesPrueba: kpi135

 

Donde:

 

keystore

Especifica el URL (Path/Ubicación) del archivo keystore  (certificado)

storepass

Especifica la clave que es requerida para acceder al keystore.

keypass

Especifica la clave usada para proteger la clave privada del archivo keystore especificado en la línea de comandos

signedjar

Especifica el nombre usado para firmar el archivo JAR.

 

 

 

 

Probando el applet

 

Insertamos el applet en una página de prueba.

 

 

Una pantalla con información de nuestro certificado se desplegará.

 

 

 

 

 

 

 

Invocación al applet

 

Para invocar al applet se deben incluir las siguientes líneas dentro de la página HTML en la que se lo utilizará:

 

<applet code="NetworkInfoMyApplet.class" codebase="/classes" archive="NetworkInfoMyApplet.jar" name="KSNetworkInfo" width="0" height="0" >

</applet>

 

 

La función javascript que nos devolverá el valor es la siguiente:

 

function ejecutoApplet() {

 

    var Myapplet = document.applets['KSNetworkInfo'];

    var form = document.forms['frm01'];

            //alert("Veamos " );

    form.txtmacaddress.value= Myapplet.ReturnMacAddress();

             //alert("Mac: " + form.txtmacaddress.value);

  //alert("Navegador " + nombre);

              return true;

            //return enviarForma(form);

}

 

 

A continuación puedes evaluarlo:

Regístrate para evaluarlo

Por favor, vota +1 o compártelo si te pareció interesante

Share |
Anímate y coméntanos lo que pienses sobre este TUTORIAL:

Fecha publicación: 2006-10-18-06:20:16

Autor:

[roque] Lamento informar que tu tutorial no funciona!!!! debes corregir tu metodo init ya que no carga asi de facil para todos!!! se deben hacer mas modificaciones. esta incompleto verifica porfavor!!!!