¿Qué es un applet?
Un applet es una aplicación java enfocada a correr principalmente en un navegador web, según la Wikipedia, un Java applet es un código JAVA que carece de un método main, por eso se utiliza principalmente para el trabajo de páginas web, ya que es un pequeño programa que es utilizado en una página HTML y representado por una pequeña pantalla gráfica dentro de ésta.
Un applet por defecto tiene permisos un tanto más restrictivos que una aplicación normal, la razón de esto es para evitar que un usuario malintencionado escriba applets con código malicioso (alguno que borre el disco duro sin autorización del usuario por ejemplo), los publique en internet y posteriormente cualquier persona que ejecute dicho applet se vea afectada.
En algunas ocasiones es necesario que un applet acceda a ciertos recursos locales con el fin de realizar su función cabalmente, solo que debido a las restricciones anteriormente mencionadas, no va a ser posible a menos que sea firmado digitalmente.
¿Qué sucede si ejecuto un applet no firmado en el navegador?
Si tratamos de ejecutar en el navegador un applet que accese a los recursos locales y que no esté firmado no se podrá ejecutar, en la consola de la JVM aparecerá un mensaje de error parecido al siguiente:
java.security.AccessControlException: access denied
¿Qué se necesita para firmar el applet y poderlo ejecutar?
Para firmar digitalmente un applet es necesario de un certificado (un archivo que contenga la firma), afortunadamente, el mismo jdk nos provee de las herramientas necesarias para crearlo y posteriormente aplicarlo a nuestro archivo .jar.
Dentro de la carpeta bin que posee el jdk (en Windows se encuentra normalmente en C:\Archivos de programa\jdkx.xx.xx) existen un par de aplicaciones que nos servirán, dichas aplicaciones son las siguientes:
¿Cómo genero un certificado?
Para generar un certificado que posteriormente te servirá para firmar los applets solo basta ejecutar el siguiente comando desde la línea de comandos (en Windows puedes abrir la línea de comandos desde Inicio > Ejecutar > escribes cmd y presionas Enter):
keytool –genkey –alias Monillo –validity 365 –v
Donde:
Después de ejecutar el comando se te harán algunas preguntas, debes contestarlas a tu preferencia.
Ya tengo mi certificado ahora, ¿cómo lo utilizo para firmar los applets?
Una vez que tienes tu certificado basta con ejecutar el siguiente comando para firmarlo:
jarsigner.exe AppletFirmado.jar Monillo –verbose
Después de esto te pedirá escribir la contraseña que definiste anteriormente, si es correcta el applet quedará firmado y listo para ejecutarse en el navegador.
Es importante que tomes en cuenta que si utilizas varios archivos jar en tu aplicación es necesario que todos estén firmados ya que de lo contrario seguirás sin poder ejecutarla.
Cuando ejecutes tu aplicación te aparecerá un mensaje preguntando si confías en el proveedor de la aplicación, una vez que des clic en Ejecutar podrás trabajar con ella sin problemas.
Artículo original en Monillo007's Blog
Soy un Ingeniero en Computacíón egresado de la Universidad de León en el año 2007. Actualmente trabajo como desarrollador de sistemas web para una dependencia gubernamental. De igual manera he formado una empresa que ofrece soluciones integrales en tecnologías de negocio de nombre Make It Bit.
gimenete escribió
hace 1 años
elnoziya escribió
hace 1 años
muy bueno
Monillo007 escribió
hace 1 años
Thnx!
aresetian escribió
hace 1 años
quiesa saber si hay alguna forma de firmar un applet , y que este applet no tenga vencimiento, mi correo es aresgia@hotmail.com..espero me puedas colaborar de igual forma lo felicito por el articulo es muy bueno.
GUST_UNAD escribió
hace 8 meses
Buenos dias.
Muchas gracias por el aporte.
Hice todo pero me sale el sgte mensage : " La firma digital de la aplicacion no se puede verificar "
Agradezco mucho me digan que puedo hacer para poder ejecutar un Applet que pueda leer un archivo desde el explorador.
Muchas Gracias por sus atencion.
Gustavo
© Copyright 2008-2009 debug_mode=ON | Aviso legal | Contacto | FAQ | ¿Quiénes somos? |
#1
Este es el tipo de artículos que te ahorran mucho tiempo de búsqueda. Muy práctico y útil.
saludos!