Professional Documents
Culture Documents
Jaehoo Weblog
(h p://picasaweb.google.com/lh/photo/oTISGlZHOGNdb5H16l6dkA?feat=embedwebsite)
Últimamente he investigado sobre applets, swing y JNLP y ha resultado un tema muy interesante, ya
que abarca conceptos de seguridad, diseño, arquitectura de cliente servidor, etc…
Como dato cultural: Java Web Start es un mecanismo desarrollado por SUN para ejecutar aplicaciones
de contenido rico (swing y applets) a través del navegador web, esto se realiza por medio del JNLP que
es un protocolo de comunicación que permite lanzar nuestras applicaciones desde un lugar remoto,
anteriormente esto se podia manejar mediante applets pero.. por razones de seguridad se les negaba
acceso a los recursos de la maquina, como carpetas de sistema, archivos, etc… ya que alguién puede
manipularlo de forma incorrecta y robar información de los que ejecuten el código.
Sobre todo en la seguridad, encontre este enlace donde explican màs a detalle cuales son las restricciones
de las aplicaciones (swing/applets):
h p://www.chuidiang.com/chuwiki/index.php?title=Firmar_Applets
(h p://www.chuidiang.com/chuwiki/index.php?title=Firmar_Applets)
Pero bueno al grano, para poder hacer que nuestras aplicaciones ejecuten con toda su funcionalidad y
sin restricciones debemos firmarlas, y claro!! que el usuario que lo ejecute, acepte esa firma, podemos
hacerlo de la siguiente manera:
1. Generar la llave: Es el identificador que va a validar nuestra aplicación, yo encontre estas dos formas
de hacerlo, la primera genera la llave por un tiempo determinado y la segunda la genera con vigencia de
un año, puedes utilizar cualquiera. Abrimos una terminal y escribrimos:
https://jaehoo.wordpress.com/2009/04/01/firmar-jars-java-web-sart/ 1/6
4/5/2019 Firmar JARs Java Web Sart – Jaehoo Weblog
#Genera la llave "MyKey" con la vigencia por un año (es el valor por defecto) y det
keytool -genkey -alias MyKey -keyalg rssa
Nota: Para comprobar que el certificado se ha generado correctamente se puede comprobar con el
siguiente comando, que listará todos los certificados que tenemos en nuestro keystore:
(h p://picasaweb.google.com/lh/photo/tRFiiBne-
jX3DA086liWuw?feat=embedwebsite)
https://jaehoo.wordpress.com/2009/04/01/firmar-jars-java-web-sart/ 2/6
4/5/2019 Firmar JARs Java Web Sart – Jaehoo Weblog
De JavaWebStart (h p://picasaweb.google.com/Jaehoo/JavaWebStart?feat=embedwebsite)
Saludos
Asi que veamos… tu tienes una aplicación java (swing o applet), java web start (JNLP) es un
protocolo de comunicación desarrollado por SUN que permite ejecutar estas aplicaciones a través
del navegador web, las aplicaciones swing son muy ricas en contenido y te permiten hacer
muchas cosas desde controlar eventos hasta usar recursos de la maquina, y para evitar que
alguien se aproveche de esta capacidad y la utilicen para robar datos se decidió crear la firma de
seguridad.
Saludos
https://jaehoo.wordpress.com/2009/04/01/firmar-jars-java-web-sart/ 3/6
4/5/2019 Firmar JARs Java Web Sart – Jaehoo Weblog
Al ejecutar el archivo JNLP, java web start me genera este error: “Falta una entrada firmada en
el recurso: libreria2.jar”, esta librería fue descargada de internet para conexión con BD MySql;
en vista que java web start solicitaba firmas, decidí firmar los JAR.
He podido firmas los 3 archivos sin ningún problema, pero cuando ejecuto el archivo JNLP,
me sale el error: “Se ha usado más de un certificado para firmar el recurso: libreria2.jar”; esta
ya habia sido firmada antes, entonces la pregunta es como puedo eliminar o actualizar la
firma?
He estado buscando la forma de hacerlo, pero hasta ahora no he podido encontrar nada.
Pero ahora tengo otra pregunta, has podido agregar al archivo JNLP un archivo de
propiedades?, es decir, si el jar principal necesita un archivos.properties, como lo cargas en el
archivo JNLP? Según he leído, hay un elemento del archivo JNLP, que se llama Property, pero
este me pide 2 atributos y la verdad es que no se que va en el segundo. he hecho pruebas y
nada que funciona, alguna vez has hacho algo como esto?
Pero si, debe de haber forma de cargar el properties, hace mucho tuve que meterme de manera
ilegal a volarme una app asi jaja XD y de ahi aprendi varios truquillos de su jnlp :
1. Argumentos: Te ayuda a pasar datos de la pagina web al jnlp, dentro de tu pagina tag del
jnlp declaras algo asi:
>param name='MiParametro' value='valor'>
y despues lo puedes recuperar en el codigo java asi :
getParameter("location")
Actualmente yo llevo una aplicación que se ejecuta a traves de JNLP, pero para resguardar esa
informacion tuve que separarla en dos partes, una que es la presentacion que se encarga de
ingresar/ mostrar los datos (el archivo jar, que lo unico que trae son pantallas, no hay logica de
negocio en el), y otra app en el servidor que se encarga de atender peticiones, procesar los
datos, y devolver una respuesta. asi no hay riesgo si alguien se vuela mi jar lo unico que
obtiene son pantallas sin datos que pongan en riesgo la información de mi app.
ExamenesPHI
Alejandro
ExamenesPHI
ExamenesPHI
4.
ALEJANDRO RAMÍREZ dijo: noviembre 26, 2010 a las 6:53 am EDITAR RESPONDER
nota: hice lo q tu para que salga la info
https://jaehoo.wordpress.com/2009/04/01/firmar-jars-java-web-sart/ 5/6
4/5/2019 Firmar JARs Java Web Sart – Jaehoo Weblog
>homepage href=””/>
>description>ExamenesPHI
>description kind=”short”>ExamenesPHI
>/information>
>resources>
>j2se version=”1.5+”/>
>jar eager=”true” href=”ExamenesPHI.jar” main=”true”/>
>jar href=”lib/mysql-connector-java-5.1.6-bin.jar”/>
>jar href=”lib/substance.jar”/>
>jar href=”lib/substance.jar”/>
>/resources>
>application-desc main-class=”Pantallas.Login”>
>/application-desc>
>/jnlp>
5.
ALEJANDRO RAMÍREZ dijo: noviembre 26, 2010 a las 7:18 am EDITAR RESPONDER
que crees karnal ya no resolví solamente tenia que firmar el conector de Mysql jeje, tu pagina me a
sido de mucha ayuda sigue asi XD
6.
RICHARD dijo: febrero 4, 2011 a las 11:41 pm EDITAR RESPONDER
Te felicito, has hecho una publicación excelente. Mis respetos..!
7.
JT MARTIN dijo: agosto 7, 2012 a las 11:38 am EDITAR RESPONDER
buen dia yo tengo una bronca, hice una pagina web con eclipse usando jsps y me pidieron que con
un jnlp permita acceder a twi er tengo 4 archivos jar, pero no se como funciona esto, es la primera
ves que escucho el concepto de jnlp, además de que casi no se java soy novato, alguien podría
explicarme paso a paso? gracias
This site uses Akismet to reduce spam. Learn how your comment data is processed.
https://jaehoo.wordpress.com/2009/04/01/firmar-jars-java-web-sart/ 6/6