Avatar billede krak Nybegynder
20. juli 2004 - 10:35 Der er 8 kommentarer og
1 løsning

Signed Applet: Access denied

Hej

Jeg har lavet en JAR-fil, signeret den, lavet certificat og policy-fil. Igår kunne den sagtens vise applet'en, og f.eks. hente brugerens temp-bibliotek. Den kunne også skrive filer dertil, men gik kløjs i læsningen.
I dag da jeg gik ind på den første gang, ville den end ikke vise applet'en. Der var access denied i user.dir, selvom der intet var ændret siden igår. Hvordan kan det gå til?

Nu har jeg så pillet lidt mere ved policy-filen, men får stadig en Access denied i FilePermission for Write til My Documents.

Min policy-fil ser sådan ud:

keystore "http://<sti>/pg.keystore";

grant signedBy "<navn>",  codeBase "http://<sti>/" {
  permission java.io.FilePermission "<<ALL FILES>>", "read, write, delete, execute";
  permission java.util.PropertyPermission "user.dir", "read, write";
};

grant {
  permission java.io.FilePermission "<<ALL FILES>>", "read, write, delete, execute";
  permission java.util.PropertyPermission "user.dir", "read, write";
};


Men hvor bliver den signerede jar fil koblet sammen med policy-filen? Og bør den ligge i user.home eller i class-biblioteket?
- Programmet bliver testet på en intranetserver, hvor det gerne skulle kunne køres fra.
Avatar billede simonvalter Praktikant
20. juli 2004 - 10:42 #1
Enten bruger den lib\security\java.policy
fra din jdk
eller så kører du din jar med -Djava.security.policy=din.policy

Jeg skal ikke kunne sige med sikkerhed om den vil detecte om du har en liggende sammen med din jar men det er ikke noget jeg har set.
Avatar billede krak Nybegynder
20. juli 2004 - 10:45 #2
jeg kører min jar via en html-side, som en normal applet.

Er der mulighed for at man selv kan bestemme stien til policy-filen?
Avatar billede simonvalter Praktikant
20. juli 2004 - 10:53 #3
den skal ligge i user.home som default
om man kan give den en sti på andre måder end med -D ved jeg ikke
Avatar billede krak Nybegynder
20. juli 2004 - 11:17 #4
ok, men hvordan med selve indholdet i policy-filen? Jeg har jo givet den fuld adgang til så godt som alt, hvilket der ikke skal være i den endelige version, men det undrer mig, at den ikke reagerer på det...

Efter at have tilføjet
  permission java.security.AllPermission;
i policy-filen, fik jeg den til at køre i Appletviewer. Dog ville den ikke køre fra html-siden...

Umiddelbart tænker jeg, at de to ikke bruger samme policy-fil, men kan man finde ud af, hvilken policy-fil, html-siden bruger? (Selvom der kun burde være den ene!)
Avatar billede simonvalter Praktikant
20. juli 2004 - 11:21 #5
jeg har ikke rodet med applets ret meget så jeg skal ikke kunne sige hvorfor det virker i appletviewer og ikke i html siden.

Men hvis du ikke har andet kørende under java så kan jeg ikke se noget problem i at du sætter din policy direkte i <JRE>\lib\security\java.policy
Avatar billede krak Nybegynder
20. juli 2004 - 11:36 #6
"hvis du ikke har andet kørende under java", skrev du... Har lige opdaget, at det måske var problemet... Efter at have afsluttet alle IE-vinduer og startet html-filen op, virkede alt som det skulle. Jeg kan dog se, at der mangler tilretninger, så den får adgang til alt den skal have, men applet'en bliver vist nu, og det er en klar forbedring!!!
- og det var ikke nødvendigt at kopiere policyfilen ind i lib/security

Jeg forstår stadig ikke, hvorfor problemet opstod, men det ser ud til at det virker nu. (Disse mystiske problemer er efterhånden lidt for klassiske, må jeg sige)
- Men tak for hjælpen!

Et sidste spørgsmål: Når applet'en kommer til at køre på vores intranetserver, skal alle medarbejdere så have policy-filen i deres user.home, eller er det nok at de siger ok til certifikatet?
Avatar billede simonvalter Praktikant
20. juli 2004 - 11:53 #7
umm jeg er lige så megget i tvivl som dig ;)
jeg vil også tro de skal have en policy fil da den jo kører på klient siden og det er der at man skal give den lov til det den skal udføre.
Men det er vel bare at teste..
Avatar billede krak Nybegynder
09. august 2004 - 13:56 #8
Well. Læg et svar og du får point....
Avatar billede simonvalter Praktikant
09. august 2004 - 15:29 #9
ok
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester