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 |
[Unknown]: EC |
Es correcto CN=Prueba Ecuador, OU=Prueba, O=Prueba, |
[no]: Y |
Donde:
keystore |
Especifica el URL (Path/Ubicación) |
storepass |
Especifica la clave que es requerida para acceder al keystore. |
keypass |
Especifica la clave usada para proteger la clave privada |
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) |
storepass |
Especifica la clave que es requerida para acceder al keystore. |
keypass |
Especifica la clave usada para proteger la clave privada |
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);
}