Applet und File-Object?

Status
Nicht offen für weitere Antworten.
S

Susi

Gast
Kann es sein, das ich in einem Applet, egal ob signiert oder nicht, nicht mittels File auf lokale Dateien zugreifen kann?!?!

Hier mal das Applet:

Code:
import java.awt.*;
import java.io.File;

public class FileExists extends java.applet.Applet
{

   public void fileExists(){
	   File f = new File("c:/tmp/log.txt");
		if (!f.exists()){
			System.out.println("FILE NOT FOUND");
		}else{
			System.out.println("FILE FOUND");
		}
   }
   
   public void init()
   {
      fileExists();
   }
}

Obwohl ich das Applet signiert habe, bekomme ich eine Exception:

Caused by: java.security.AccessControlException: access denied (java.io.FilePermission c:\tmp\log.txt read)

Wäre nett wenn das mal jemand verifizieren könnte.

Im Internet finde ich zu dem Problem keine Informationen
 

L-ectron-X

Gesperrter Benutzer
Doch, das geht, Dein Code ist auch in Ordnung. Du hast wahrscheinlich einen Fehler beim Signieren gemacht.
Ich habe mal ein entsprechendes Beispiel-Applet geschrieben, das nach deiner Datei c:\tmp\log.txt sieht.
Das Applet ist signiert und läuft ab Java 1.4.2.

HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
 <head>
  <title>FileExistsApplet-Applet</title>
 </head>
 <body>
  <h1>FileExistsApplet-Applet</h1>
  <applet archive="FileExistsApplet.jar" code="FileExistsApplet.class" width="0" height="0">
  </applet>
 </body>
</html>

Der Quellcode ist im Jar-File. (also nur entpacken)

Zum Thema Signieren gibts in der FAQ ein kleines Batch-Tool.
 

Anhänge

  • FileExistsApplet.jar
    2,8 KB · Aufrufe: 2
Zuletzt bearbeitet:
S

Susi

Gast
So da bin ich wieder,

klappt mit deinem Applet wunderbar. Ich weiß nur nicht warum meins nicht funktioniert. Ich habe das Batchtool aus den FAQs genutzt.

Hier nochmal der Ablauf vielleicht ist ja doch ein Fehler drin:

Code:
C:\Programme\Java\jdk1.6.0\bin\keytool -genkey -alias Signer -dname "cn=filer, c=de" 
C:\Programme\Java\jdk1.6.0\bin\keytool -selfcert -validity 3650 -alias Signer -dname "cn=filer, c=de" 
C:\Programme\Java\jdk1.6.0\bin\jarsigner lc.jar Signer 
C:\Programme\Java\jdk1.6.0\bin\jarsigner -verify -verbose -certs lc.jar Signer

Er meldet auch jar signd.

Jemand eine Idee
 
S

Susi

Gast
So jetzt habe ich das Problem eingekreist, aber noch keine Lösung.

Wenn ich das Applet erneut signiere und es ausführe klappt es perfekt und ich erhalte in der Konsole ein "FILE NOT FOUND"

Wenn ich jedoch von einer HTML Seite auf der das Applet eingebunden ist mittels LiveConnect die Funktion fileExists aufrufe, dann bekomme ich ein

Code:
<input type="button" name="FileExists" value="FileExists"
      onclick="document.myApplet.fileExists();">


java.security.PrivilegedActionException: java.lang.reflect.InvocationTargetException
at java.security.AccessController.doPrivileged(Native Method)
at sun.plugin.liveconnect.SecureInvocation$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.plugin.liveconnect.SecureInvocation.CallMethod(Unknown Source)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at sun.plugin.javascript.JSInvoke.invoke(Unknown Source)
at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at sun.plugin.javascript.JSClassLoader.invoke(Unknown Source)
at sun.plugin.liveconnect.PrivilegedCallMethodAction.run(Unknown Source)
... 4 more
Caused by: java.security.AccessControlException: access denied (java.io.FilePermission c:\tmp\log.txt read)
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkRead(Unknown Source)
at java.io.File.exists(Unknown Source)
at HelloLiveConnect.fileExists(HelloLiveConnect.java:17)
... 14 more

Scheint also etwas mit LiveConnect zu tun zu haben. Da das Applet Signiert ist sollte es doch funktionieren oder irre ich mich da?
 

L-ectron-X

Gesperrter Benutzer
Ich kann da jetzt nur mutmaßen. Der Browser/VM lässt das Applet aus seiner Sandbox, wenn das Zertifikat akzeptiert wurde und es kann schalten und walten wie eine Applikation. Wenn es nicht akzeptiert wurde, wird eine AccessControlException geworfen. So weit zum Java-Teil.

Im JavaScript-Teil, sagst du, greifst du direkt auf die Methode zu. Für mich klingt das so, als würdest du damit die Java-Sicherheitsmechanismen umgehen wollen. Und warscheinlich für die VM auch, denn die quittiert den direkten Aufruf einer unsicheren Methode mit der AccessControlException.

Also meiner Meinung nach müsstest du das Applet starten und dann auf eine sichere Methode zugreifen, um den ermittelten Wert auszulesen.
 
G

Gast

Gast
Naja,

ich hätte jetzt vermutet das das Applet entweder in der Sandbox oder eben nicht läuft und das ist abhängig von der Signatur des Applets. Warum ein signiertes Applet dennoch in de Sandbox läuft nur weil eine Funktion von außen aufgerufen wird ist mir schleierhaft.

Und umgehen möchte ich damit sicherlich nichts. Der Nutzer muss schon der Signatur zustimmen.
 

L-ectron-X

Gesperrter Benutzer
Wie gesagt, ich mutmaße nur.

Ich nehme an, das hier der Sicherheitsmechanismus von Java greift. Der Benutzer hat ja nur dem Applet erlaubt, sich auf seinem System zu bewegen. Jetzt kommt irgendwer von "draußen" und ruft ungefragt kritische Operationen auf. Meinst du nicht, das sowas geblockt werden sollte?
 
G

Gast

Gast
Ich könnte mir jetzt nichts wildes vorstellen.

Zumal ich ja von außen nur Zugriff auf die public Methoden/Variablen des Applets habe, sprich ich selbst von außen nichts anderes machen könnte als das was das Applet nicht sowieso macht.

Und wenn es ein "böses" Applet ist, dann liegt es nicht am Zugriff von außen auf das Applet.
 

L-ectron-X

Gesperrter Benutzer
Alles gute Argumente...
Kann es sein, dass du vielleicht den Zugriff vor dem Akzeptieren des Zertifikats versuchst?
 
G

Guest

Gast
Nein, definitiv nicht. Ich warte bis das Applet geladen hat und ich die Ausgabe in der Konsole "Alles OK" bekomme. Hab diese noch eingebaut um eben genau das auszuschließen.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
grudge File in Applet laden Tools - Maven, Gradle, Ant & mehr 4
M datei mit html file an applet übergeben Tools - Maven, Gradle, Ant & mehr 3
F Applet erscheint bei Eclipse, aber nicht im HTML-File Tools - Maven, Gradle, Ant & mehr 2
L Applet jar file von 1.4 und 1.1.8 Tools - Maven, Gradle, Ant & mehr 21
B Applet: com.sun.deploy.security.BlockedException :-( Tools - Maven, Gradle, Ant & mehr 0
M Applet Applet legt Browser lahm Tools - Maven, Gradle, Ant & mehr 3
J Applet Aus anderer Browserinstanz Applet abfragen Tools - Maven, Gradle, Ant & mehr 2
P Linux Applet/Webstart Schriftunterschiede Tools - Maven, Gradle, Ant & mehr 3
E JMol -Applet Einbindung Tools - Maven, Gradle, Ant & mehr 0
T Applet Applet und IText wirft Incompatible magic value 1008813135 Fehler Tools - Maven, Gradle, Ant & mehr 6
P Applet Java Applet läuft im Browser nicht mehr (HTTPClient - NoClassDefFoundError) Tools - Maven, Gradle, Ant & mehr 3
P Applet Applet Signatur auf Server mit SSL-Zertifikat? Tools - Maven, Gradle, Ant & mehr 7
H Applet Applet wird nicht angezeigt Tools - Maven, Gradle, Ant & mehr 2
M Applet Applet funktioniert in Google Chrome nicht Tools - Maven, Gradle, Ant & mehr 2
O Applet "Anwendung kann nicht ausgeführt werden" Tools - Maven, Gradle, Ant & mehr 6
Q Applet Fehlermeldung bei Applet-Wechsel Tools - Maven, Gradle, Ant & mehr 4
T Daten per POST-Methode aus Java-Applet nach php-Script senden Tools - Maven, Gradle, Ant & mehr 3
R Applet friert Adresszeile des Firefox ein Tools - Maven, Gradle, Ant & mehr 2
K Applet als Jar-Datei in HTML einbinden Tools - Maven, Gradle, Ant & mehr 14
H Applet-Fehlermeldung Tools - Maven, Gradle, Ant & mehr 10
H Applet läuft nicht im Browser Tools - Maven, Gradle, Ant & mehr 3
Q Applet Applet läuft nicht im Browser Tools - Maven, Gradle, Ant & mehr 14
J Applet URL mittels TTS als Applet lesen lassen Tools - Maven, Gradle, Ant & mehr 40
F Applet verwischt, wenn Seite gescrollt wird Tools - Maven, Gradle, Ant & mehr 16
S Applet Applet mit C# öffnen: java.lang.SecurityException: Permission denied (WinXP) Tools - Maven, Gradle, Ant & mehr 8
J Applet-Quellcode einsehen Tools - Maven, Gradle, Ant & mehr 6
E Applet Applet und Datenbank Konzept Tools - Maven, Gradle, Ant & mehr 4
A Applet: Html Datei und Class Datei nicht im selben Verzeichnis Tools - Maven, Gradle, Ant & mehr 2
S Applet soll Textdatei von fremdem Server öffnen Tools - Maven, Gradle, Ant & mehr 8
E Java Applet bearbeiten Tools - Maven, Gradle, Ant & mehr 8
Quasar Wie signiere ich mein Applet richtig? Tools - Maven, Gradle, Ant & mehr 6
M mit Applet Javascript Aufrufen Tools - Maven, Gradle, Ant & mehr 2
S Applet and stop() method und gui blocked Tools - Maven, Gradle, Ant & mehr 4
A Applet Applet startet nach Einbinden auf Website nicht Tools - Maven, Gradle, Ant & mehr 4
A Applet, xxx.jar und hsqldb Tools - Maven, Gradle, Ant & mehr 4
T Webstart oder Applet Tools - Maven, Gradle, Ant & mehr 2
H Applet applet neu laden im browser Tools - Maven, Gradle, Ant & mehr 10
M Applet neustart Tools - Maven, Gradle, Ant & mehr 5
S Applet request unter Linux Tools - Maven, Gradle, Ant & mehr 14
S Applet GUI nicht im Webbrowser sichtbar Tools - Maven, Gradle, Ant & mehr 5
S Mittel Applet Datei an ein Webserver übertragen Tools - Maven, Gradle, Ant & mehr 2
M Applet in ClientServer J2EE Anwendung debugen Tools - Maven, Gradle, Ant & mehr 6
H Java Applet Problem beim einbinden in HTML Tools - Maven, Gradle, Ant & mehr 3
M Java3D Applet flackert wenn ein Button(HTML) gedrückt wird Tools - Maven, Gradle, Ant & mehr 11
S Policy mit Signiertem Applet verteilen Tools - Maven, Gradle, Ant & mehr 9
F Applet findet include nicht Tools - Maven, Gradle, Ant & mehr 15
L PHP + Java Applet Kommunikation Tools - Maven, Gradle, Ant & mehr 9
C Probleme mit Applet mit SQL im Browser Tools - Maven, Gradle, Ant & mehr 4
G Java-Applet Probleme beim Browser Tools - Maven, Gradle, Ant & mehr 14
G Textfile in Applet laden möglich? Tools - Maven, Gradle, Ant & mehr 2
A Java-Applet Sandbox deaktiviren? Tools - Maven, Gradle, Ant & mehr 2
B Java-Applet geht nicht (auf dem Webserver) Tools - Maven, Gradle, Ant & mehr 9
P Applet läuft nicht in Browser Tools - Maven, Gradle, Ant & mehr 21
V JAR-Datei eines (J)Applet funktioniert nicht - Help! Tools - Maven, Gradle, Ant & mehr 19
S Java Applet per Klick starten? Tools - Maven, Gradle, Ant & mehr 6
S Applet geht nicht Tools - Maven, Gradle, Ant & mehr 25
J Applet signieren Tools - Maven, Gradle, Ant & mehr 2
H Applet - Geschicklichkeitsspiel programmieren Tools - Maven, Gradle, Ant & mehr 16
U Jar funktioniert nicht als Applet Tools - Maven, Gradle, Ant & mehr 3
C Applet Frage Tools - Maven, Gradle, Ant & mehr 4
M Java Applet - enforce use of older JRE Tools - Maven, Gradle, Ant & mehr 3
N Wie Java-Programm zu Applet machen?! Tools - Maven, Gradle, Ant & mehr 2
W Webseite aus Applet öffnen Tools - Maven, Gradle, Ant & mehr 3
lumo Applet - resize Tools - Maven, Gradle, Ant & mehr 7
Icewind Applet reagiert nach neu laden der Webseite nicht mehr verlässlich auf KeyEvents Tools - Maven, Gradle, Ant & mehr 6
R Applet mit MySQL Tools - Maven, Gradle, Ant & mehr 3
A jar datei trotz zertifikat nich aus applet ausführbar Tools - Maven, Gradle, Ant & mehr 4
F Fehlende Applet Rechte Tools - Maven, Gradle, Ant & mehr 12
N [Applet] Button wir nach 5 secs Unsichtbar Tools - Maven, Gradle, Ant & mehr 2
N jar -> applet wie setzt man das am leichtesten um Tools - Maven, Gradle, Ant & mehr 7
V applet Java 1.6 -> 1.5 Problem ... wie mit Ant zu lösen? Tools - Maven, Gradle, Ant & mehr 7
F applet als JAR -> AccessControlException Tools - Maven, Gradle, Ant & mehr 3
E Java Applet - Double Buffering Problem (Flackern) Tools - Maven, Gradle, Ant & mehr 6
R Applet mit bestimmter JRE ausführen Tools - Maven, Gradle, Ant & mehr 9
traysa Wie binde ich ein applet in eine jsp Tools - Maven, Gradle, Ant & mehr 3
D Mit dem Applet das DOM manipulieren? Tools - Maven, Gradle, Ant & mehr 3
ABstraCT Applet getCodeBase() Zugriff auf darüberliegendenden Ordner ? Tools - Maven, Gradle, Ant & mehr 1
S Java-Applet Steuerung IO Karte am Drucker-Port Tools - Maven, Gradle, Ant & mehr 4
P URL aus Applet öffnen? Tools - Maven, Gradle, Ant & mehr 7
ABstraCT Mit Applet in ne Datei auf seinem Server schreiben. Tools - Maven, Gradle, Ant & mehr 10
E Verzögerung beim Refresh (F5) mit einem Applet verursachen Tools - Maven, Gradle, Ant & mehr 16
deetee Applet Frage Tools - Maven, Gradle, Ant & mehr 2
S Fehler in einem Upload - Applet (nicht gelöst!!) Tools - Maven, Gradle, Ant & mehr 2
G Variable an zweites Applet übergeben Tools - Maven, Gradle, Ant & mehr 3
M Dringend: Sehr kompliziertes Applet Problem Tools - Maven, Gradle, Ant & mehr 4
O Javascript kommuniziert mit Applet? Tools - Maven, Gradle, Ant & mehr 2
H Spracherkennung mit Applet / Policy bzw. Security Fehler Tools - Maven, Gradle, Ant & mehr 2
zilti Nerviger Hinweis bei Applet- und WS-Fenstern - wieso? Tools - Maven, Gradle, Ant & mehr 3
S Datei-/Verzeichniszugriff von signiertem Applet Tools - Maven, Gradle, Ant & mehr 6
G Signiertes Applet installieren? Tools - Maven, Gradle, Ant & mehr 3
G Applet mit Parameter aus JavaScript Tools - Maven, Gradle, Ant & mehr 5
A Applet Maus Koordinaten ohne MouseMotionListener Tools - Maven, Gradle, Ant & mehr 3
K Applet in Eclipse funktioniert, im Browser nicht Tools - Maven, Gradle, Ant & mehr 7
T Applet soll Java Programm starten Tools - Maven, Gradle, Ant & mehr 2
S Applet pai.nt? Tools - Maven, Gradle, Ant & mehr 3
T Applet soll Datei lesen (darf es aber nicht.) Tools - Maven, Gradle, Ant & mehr 3
P Java-Applet funktioniert unter WINXP nicht Tools - Maven, Gradle, Ant & mehr 2
N Java 1.6 Applet auf älteren Versionen ausführbar? Tools - Maven, Gradle, Ant & mehr 4
G Signiertes Applet prüfen? Tools - Maven, Gradle, Ant & mehr 3
H Problem mit einen Applet Tools - Maven, Gradle, Ant & mehr 5

Ähnliche Java Themen

Neue Themen


Oben