Foros del Web » Programación para mayores de 30 ;) » Java »

Seguridad de un Applet

Estas en el tema de Seguridad de un Applet en el foro de Java en Foros del Web. Buenas! . Hice una Aplicación de Escritorio, quiero convertirla en un Applet. Mi aplicación lee archivos del Disco Duro y se conecta a una BD. ...
  #1 (permalink)  
Antiguo 15/11/2006, 14:00
 
Fecha de Ingreso: octubre-2006
Mensajes: 8
Antigüedad: 17 años, 6 meses
Puntos: 0
Pregunta Seguridad de un Applet

Buenas! . Hice una Aplicación de Escritorio, quiero convertirla en un Applet.
Mi aplicación lee archivos del Disco Duro y se conecta a una BD. Puedo hacer
esas operaciones mediante un applet? Sé que un applet tiene ciertas normas de
seguridad, puedo evitar esas normas, cómo? Gracias de AnteMano!
  #2 (permalink)  
Antiguo 15/11/2006, 16:35
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Hola:

En principio no puedes, salvo que firmes digitalmente el Applet y el usuario que lo usa con el navegado acepte la firma. Aquí puedes ver cómo firmar el Applet.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 16/11/2006, 01:36
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Conectarte a una BDD puedes mientras esté en el mismo host desde el que te descargaste el applet, cosa poco común. Para acceder al disco duro, como dice chuidiang.
  #4 (permalink)  
Antiguo 16/11/2006, 01:43
 
Fecha de Ingreso: diciembre-2004
Mensajes: 278
Antigüedad: 19 años, 4 meses
Puntos: 0
Yo sufro el mismo problema, pero lo que quiero es listar los puertos serie y conectarme a uno de ellos.
He firmado el applet pero el combo donde listo los puertos aparece vacio

Edito: Testeando con appletviewer, este me da el siguiente error:
java.lang.NoClassDefFoundError: javax/comm/UnsupportedCommOperationException
at Programa.init(Programa.java:32)
at sun.applet.AppletPanel.run(AppletPanel.java:378)
at java.lang.Thread.run(Thread.java:595)

El codigo fuente del applet lo tengo en otro tema que inicié (gracias GreenEyed!), concretamente aquí

Última edición por clinisbut; 16/11/2006 a las 02:00
  #5 (permalink)  
Antiguo 16/11/2006, 03:32
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
NoClassDefFoundError suele indicar algun problema de classpath. ¿Puede ser que no tengas las clases de javax.comm en el classpath del applet?

Para el funcionamiento completo, si no tienes ya instalado javax.comm en la maquina cliente, aquí plantean una solución:
http://forum.java.sun.com/thread.jsp...sageID=4401248
  #6 (permalink)  
Antiguo 16/11/2006, 03:35
 
Fecha de Ingreso: diciembre-2004
Mensajes: 278
Antigüedad: 19 años, 4 meses
Puntos: 0
El problema esta en que estoy probando el applet en la misma maquina donde desarrollo, donde efectivamente tengo instalado el javax.comm.
De hecho si pruebo el mismo programa pero como frame, funciona correctamente.
  #7 (permalink)  
Antiguo 16/11/2006, 03:47
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Ya, pero el classpath accesible desde consola puede no ser el mismo que desde un applet, ya que dependera del Java Plugin que ejecute el applet, que podria no ser el mismo que usas desde consola para ejecutar tu Frame, por ejemplo.

Aparte de applets, que parecen dar problemas, una opcion parece ser usar Java Web Start, con la ventaja de que tu aplicacion quedaria en cache y no se tendria que descargar cada vez. Además, haciendo algunas cosillas parece ser que hasta puedes hacer que se descargue la libreria nativa etc desde la red sin tener que pre-instalar javax-comm en el ordenador del cliente:

http://lopica.sourceforge.net/faq.html#comm
  #8 (permalink)  
Antiguo 16/11/2006, 04:35
 
Fecha de Ingreso: diciembre-2004
Mensajes: 278
Antigüedad: 19 años, 4 meses
Puntos: 0
...
3 horas, 3 horas llevo dandole vueltas a esto...
Hasta que me ha dado por copiar el archivo comm.jar al jre/lib/ext que hay dentro del jdk.

Hasta ahora lo tenia en el jre que existe fuera del jdk, el cual se supone que es el que usan los navegadores (no?).

Bueno yo doy por zanjado mi problema.
Muchas gracias igualmente
  #9 (permalink)  
Antiguo 16/11/2006, 04:55
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Cita:
Iniciado por clinisbut Ver Mensaje
...
Hasta ahora lo tenia en el jre que existe fuera del jdk, el cual se supone que es el que usan los navegadores (no?)....
Eso quería decir. En realidad no se supone nada, y usan el que tienen configurado. Si miras la consola del Java en paneles de control veras ls distintas versiones que te reconoce el plugin y cual utiliza para ejecutarse. Antes estaba mas claro, pero ahora creo que la que usa es la que tiene activada más arriba en la lista de versiones... a veces es lioso como el solo el mundillo este
  #10 (permalink)  
Antiguo 16/11/2006, 06:05
Avatar de Valkam  
Fecha de Ingreso: junio-2006
Ubicación: Sevilla
Mensajes: 157
Antigüedad: 17 años, 10 meses
Puntos: 0
Cita:
Iniciado por clinisbut Ver Mensaje
...
Bueno yo doy por zanjado mi problema.
Yo no estaría tan seguro jejejeje. A ver por lo que he podido entender has cogido una libreria (jar) externa a la JDK y la has metido ahí para que la maquina virtual sea capaz de encontrarla.

Decirte que creo que esto unicamente soluciona el problema en tu maquina. Si tu objectivo es poner el applet en una web, si el usuario que lo descarga a través del navegador no tiene esta librería no le va a funcionar.
Para hacer que le funcione a todo el mundo tienes dos opciones:

En la etiqueta <applet> en html debes incluirle <applet archive="nombrelibreria.jar"...> En realidad debes incluir todos los jar externos que utilize tu applet, incluido el que albergue la clase que es el applet en si.

Si no te funcionara asi, una forma un poco mas burda es descomprimir todos los jar externos que necesites y comprimirlos en un unico jar que es el que pones en archive de la etiqueta <applet>

Un Saludo
  #11 (permalink)  
Antiguo 16/11/2006, 06:35
 
Fecha de Ingreso: diciembre-2004
Mensajes: 278
Antigüedad: 19 años, 4 meses
Puntos: 0
Si si eso ya lo se, pero la aplicación correrá bajo un sistema controlado, asi que seré yo quien se encargue de ir metiendo el .jar en cada uno de los clientes.

Igualmente comentarte que no se si bastaria con meter el .jar externo mas el applet en un solo .jar, ya que javax.comm proporciona también una dll que debe colocarse en el directorio bin
  #12 (permalink)  
Antiguo 16/11/2006, 11:43
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
No, no bastaria. Las aplicaciones JWS son capaces de usar librerias nativas de forma remota, pero los applets no.

Pero mientras sea para PCs controlados donde puedas instalar JavaX Comm, los certificados del applet y el java.policy, no será un problema. Yo hice así un applet que se comunicaba con una impresora de libretas de ahorros y funcionó. No funciona para el caso general, pero si no es el tuyo... ¿que más da?
  #13 (permalink)  
Antiguo 16/09/2011, 14:35
 
Fecha de Ingreso: septiembre-2011
Mensajes: 2
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Seguridad de un Applet

Hola que tal a todos miren tengo la siguiente inquietud tengo un reporte quiero mostarlo por el vizualizador del ireports , pero por ser desktop le hemos hecho mediante en un applet lo que pase es que este necesita liberria pero nosotros tamos invocado al HTML dentro de codigo del servlet de la sgtue manera

out.println("<APPLET code=\"RH_ReporteTrabajadorCeseAppler.class\" codebase=\"../../../../openbravo/web\" archive=\"../../../../openbravo/web/commons-digester-1.7.jar,../../../../openbravo/web/ojdbc6.jar,../../../../openbravo/web/iText-2.1.7.jar,../../../../openbravo/web/jasperreports-4.1.1.jar, ../../../../openbravo/web/commons-logging-1.0.4.jar,../../../../openbravo/web/commons-collections.jar,../../../../openbravo/web/commons-beanutils-1.8.2.jar,../../../../openbravo/web/groovy-all-1.7.5.jar \" width=500 height=400>");

pero la parte de archive no reconoce cual es el problema ?
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:08.