Firma de Applet
Hola espero me puedan ayudar...
Tengo un applet de prueba el cual lo firmo con la herramienta jarsigner y al tratar de ejecutarlo tego un error :
"SecurityException: operaci贸n de escritura no permitida"
el applet es:
import java.awt.*;
import java.io.*;
import java.lang.*;
import java.applet.Applet;
public class WriteFile extends Applet
{
String nombreFichero="testEscritura.dat";
BufferedWriter salida;
public void init() { }
public void paint(Graphics g)
{
try {
salida=new BufferedWriter(new FileWriter(nombreFichero));
String mensaje="Texto de prueba\n";
salida.write(mensaje,0,mensaje.length());
salida.flush(); salida.close();
g.drawString("Operaci贸n de escritura en el fichero "+nombreFichero,25,25); }
catch (SecurityException e1)
{ g.drawString
("SecurityException: operaci贸n de escritura no permitida",25,25); }
catch (IOException e2)
{ g.drawString
("IOException: error durante la operaci贸n de escritura",25,25); }
}
}
驴Como puedo hacer para que el applet se ejecute
correctamente?
De antemano Gracias,
Tengo un applet de prueba el cual lo firmo con la herramienta jarsigner y al tratar de ejecutarlo tego un error :
"SecurityException: operaci贸n de escritura no permitida"
el applet es:
import java.awt.*;
import java.io.*;
import java.lang.*;
import java.applet.Applet;
public class WriteFile extends Applet
{
String nombreFichero="testEscritura.dat";
BufferedWriter salida;
public void init() { }
public void paint(Graphics g)
{
try {
salida=new BufferedWriter(new FileWriter(nombreFichero));
String mensaje="Texto de prueba\n";
salida.write(mensaje,0,mensaje.length());
salida.flush(); salida.close();
g.drawString("Operaci贸n de escritura en el fichero "+nombreFichero,25,25); }
catch (SecurityException e1)
{ g.drawString
("SecurityException: operaci贸n de escritura no permitida",25,25); }
catch (IOException e2)
{ g.drawString
("IOException: error durante la operaci贸n de escritura",25,25); }
}
}
驴Como puedo hacer para que el applet se ejecute
correctamente?
De antemano Gracias,
Has comprobado si tienes permiso de escritura en ese directorio... por mucho applet que tengas y muchos permisos que le des al applet.... si no puedes escribir en el directorio no te va a dejar
debes de modificar el archivo java.policies de tu jre y distribuirlo a tus clientes mediante este archivo debes permitir la escritura en el directorio que incluyes en tu c贸digo ejemplo de java.policies
este ejemplo se supone que has firmado tu jar con la herramienta javasigner o algo asi y debes de haber creado claves publicas tambien puedes ponerlo por defecto pero claro es una falta de seguridad inmensa si pones lo mismo pero sin el signedby "keystore"
grant SignedBy "juanjo" {
permission java.io.FilePermission "c:\temp\*", "write";
permission java.io.FilePermission "c:\*", "write";
}
este ejemplo se supone que has firmado tu jar con la herramienta javasigner o algo asi y debes de haber creado claves publicas tambien puedes ponerlo por defecto pero claro es una falta de seguridad inmensa si pones lo mismo pero sin el signedby "keystore"
grant SignedBy "juanjo" {
permission java.io.FilePermission "c:\temp\*", "write";
permission java.io.FilePermission "c:\*", "write";
}