Probleme beim Applet signieren

Status
Nicht offen für weitere Antworten.
H

HorstHuber

Gast
Ich habe ein Applet geschriegen, in dem *.gif Bilder geladen werden müssen.

Als Application oder auch im Appletviewer funktioniert das natürlich problemlos, aber über einen HTML-Aufruf nicht mehr, da Dateizugriffe für Applets gesperrt sind.

Dazu muß meines wissens ein Applet signiert werden, dann kommt eine sinnlose Sicherheitsabfrage und es läuft einfach.

Das "keytool" und den "jarsigner" habe ich bereits gefunden. Einen Jarfile bekomme ich prinzipiell erstellt und auch signiert.

Jedoch stellt sich die Frage: Wie geht es weiter? Eine Application kann ich aus dem jar File heraus direkt starten, aber wie muß ich mit einem Applet verfahren?
Das will ich nicht in dem *.jar File benutzen, sondern z.B. wieder auf einen FTP Server laden.

Ich kann also einen jar-File signieren, aber am Ende nichts mit anfangen. Wie handhabt man das richtig?

Oder gibt es tatsächlich eine Lösung für das Bilderproblem ohne Signatur?
 

Bleiglanz

Gesperrter Benutzer
du willst ja wohl vom server aus laden?

woher willst du wissen, welche bilder auf dem rechner des clients verfügbar sind??

du musst die bilder einfach vom Server nachladen...
 
H

HorstHuber

Gast
Ich habe die Bilder mit in der Verzeichnisstruktur und diese werden an verschiedenen Stellen des Applets auch geladen.
Die Bilder werden mit auf den Server kopiert oder zu Testzwecken von der Festplatte aus benutzt.

Beim Aufruf über eine HTML Datei erscheint ein Platzhalter für das Applet und die Java console gibt folgende Fehlermeldung:

java.security.AccessControlException: access denied (java.io.FilePermission bilder\setfeld.gif 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 sun.awt.SunToolkit.getImageFromHash(Unknown Source)
at sun.awt.SunToolkit.getImage(Unknown Source)
at KnopfSetup.MaleBild(KnopfSetup.java:54)
at KnopfSetup.<init>(KnopfSetup.java:31)
at PanelMaster.<init>(PanelMaster.java:28)
at Reversi.init(Reversi.java:17)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)


Dann bin ich darauf gestoßen, daß man Applets signieren muß für Dateizugriffe. Ist das richtig? Würde das das Problem beheben?
 
H

HorstHuber

Gast
Nein, eigentlich nicht.

Aber ein Anfang wäre es schonmal.

Habe ich vielleicht das Problem falsch verstanden, benutze falsche Methoden zum Bilder laden?

Die Bilder werden auch nicht in der Klasse Applet geladen, sondern in Canvas Klassen.
 

HorstHuber

Mitglied
So, erstmal registriert.


Dann vielleicht die alternative Frage: Kann man mit Applets auf Bilder oder Dateien zugreifen, ohne diese zu signieren? Eigentlich dürfte das doch nicht der Fall sein.

Zudem huscht die Literatur immer sehr oberflächlich über diese Themen hinweg.
 

L-ectron-X

Gesperrter Benutzer
Ich verstehe jetzt noch nicht ganz, wo es hier lang gehen soll...
Du hast das Applet in einem .jar-File und auch bereits signiert. Außerdem ist es auf dem Webserver und wurde auch von dort aus auch schon in den Browser geladen.
Und nun kannst du diese AccessControlException in der Console bewundern und weiß nicht warum?
Du hast leider den Eingangstext so formuliert, dass ich deinem Problem nicht richtig folgen konnte...

Edit: Habe an meinem Beitrag gearbeitet, während du dich registriert hast.
Also grundsätzlich sind Dateioperationen auf Systemebene (lesen, schreiben) für Applets verboten.
Um die Rechte von Applets zu erweitern müssen diese signiert werden.
Ich habe noch nie Canvas benutzt, kann daher auch wenig dazu sagen.
Bilder lade ich mindestens immer mit:
Code:
Image img = getImage(new URL("http://www.domain.com/images/img1.gif"));
http://java.sun.com/j2se/1.5.0/docs/api/java/applet/Applet.html#getImage(java.net.URL)

Ausgabe in der paint()-Methode mit einer passenden drawImage()-Methode aus Graphics.
http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Graphics.html
 

HorstHuber

Mitglied
Dann mache ich mal langsam und Schrittweise weiter.

Ich kann eine Applikation in einen *.jar File packen und signieren. Anschließend entweder bei entsprechend konfiguriertem System (meist automatisch) per Doppelklick starten oder auf Kommandozeilenebene von Hand: javaw.exe -jar *.jar

Bei Applikationen funktioniert das auch wunderbar.

Ein Applet bringt mir nur als *.jar File überhaupt nichts, weil ich es doch mittels Appelt-tag in einer *.htm Seite aufrufe und den Platz dort zur Verfügung stelle. Oder kann ich auch irgendwie auf diesen *.jar File zugreifen mittels HTML Code?

Das Kommando "getImage(...)" funktioniert meines Wissens nur in von Applet abgeleiteten Klassen. Ansonsten lautet der volle Befehl "getToolkit().getImage(...)" und wird über java.awt.Toolkit zur Verfügung gestellt. Daher auch das Problem.

Vielleicht sogar von Anfang an Falsch angegangen?

Ziel ist es:
- Es gibt eine einzige Klasse von Applet abgeleitet ( also class blub extends Applet{...})
- In dieser Klasse werden nur Klassen hinzugefügt, die von Panel abgeleitet sind
- Die Panel Klassen enthalten Instanzen von den von Canvas abgeleiteten Klassen. In diesen werden Bilder geladen.

Sinn und Zweck ist es, daß das Programm gleich aufgebaut ist und wahlweise als Applikation oder Applet aufgerufen werden kann und sich also nur in der "Hauptklasse" unterscheidet.

Code:
import java.awt.Canvas;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.MediaTracker;

public class CanvKnopf
extends Canvas

{
	private int bild;
	private Image img;
	
	
	public CanvKnopf(int bild)
	{
		this.bild = bild;
		MaleBild(bild);	
	}	
	
	public int GetBild()
	{
		return bild;
	}
	
	public void MaleBild(int bild)
	{
		String fname;
			
		if (bild == -1)
		{
			fname = "bilder\\bild1.gif";
		}
		else
		{
			fname = "bilder\\bild2.gif";
		}
		
		
		
		img = getToolkit().getImage(fname);
				
		MediaTracker mt = new MediaTracker(this);		 
		
		mt.addImage(img, 0); 
		try
		{		     
			mt.waitForAll(); // Bild wird vorgeladen
		} catch (InterruptedException e){}
						
		this.repaint();
	}
	
	// legt die Größe des Bildes fest
	public Dimension getPreferredSize()
	{
		return new Dimension(
					img.getWidth(this),
					img.getHeight(this)
					);
	}

	// legt die Größe des Bildes fest	
	public Dimension getMinimumSize()
	{
		return new Dimension(
					img.getWidth(this),
					img.getHeight(this)
					);
	}
	
	// Zeigt das Bild an
	public void paint(Graphics g)
	{			
		g.drawImage(img,0,0,this);

	}
	
}
 

L-ectron-X

Gesperrter Benutzer
Dann schreibe lieber eine Webstart-Anwendung (.jnlp)
Ansonsten ist die Grundlage für eine "Appletcation" immer ein Applet.
Ein Applet erbt ja von Panel und kann so einem Frame hinzugefügt werden. Dafür muss für den Betrieb als Applikation von deinem Applet eine Instanz erzeugt werden und die init(), start() etc. auf dieser Instanz aufgerufen werden, was ja sonst der Browser macht.

Falls ich das immer noch falsch verstanden habe: ein jar-File wird so in einer HTML-Seite eingebunden:
Code:
<applet code="MeineKlasse.class" archive="MeinJar.jar" width=400 heigth=300>
</applet>

Ich habe hier mal eine Mini-Anwendung als "Appletcation" gepostet:
http://www.java-forum.org/de/viewtopic.php?p=106814
 

HorstHuber

Mitglied
Wow, danke für die tollen Antworten.

Das Problem ist fast gelöst.

Er zeigt noch ein paar komische Sachen an, aber es kommt der Sache näher.


Entnehme ich Deinem letzen Link und Forenbeitrag richtig, daß ich mein Applet einer Frame-Applikation zufügen soll, daraus ein *.jar Archiv mache und dann quasi die Applikation mit der HTML Seite starte?
 

L-ectron-X

Gesperrter Benutzer
HorstHuber hat gesagt.:
Entnehme ich Deinem letzen Link und Forenbeitrag richtig, daß ich mein Applet einer Frame-Applikation zufügen soll, daraus ein *.jar Archiv mache und dann quasi die Applikation mit der HTML Seite starte?

Du schreibst eine Applet-Klasse, die quasi das Haupt-Panel für die Applikation darstellt.
Und du schreibst eine von Frame abgeleitete Klasse, der du die Applet-Klasse als Component hinzufügst.
Beide Klassen packst du in eine signierte, ausführbare jar-datei, deren Main-Class die Applikations-Klasse ist.
Das HTML-File und das jar-File lädst du dann auf den Webserver, womit du im Internet auf einer Webseite ein Applet aufrufen kannst, während die Kopie der jar-Datei auf dem lokalen System als Aplikation per Doppelklick ausgeführt werden kann.

Ansonsten kannst du mal in die FAQ gucken, da habe ich eine Batchdatei gepostet, die dir dein Applet signieren kann:
http://www.java-forum.org/de/viewtopic.php?t=18083
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Java-Applet Probleme beim Browser Tools - Maven, Gradle, Ant & mehr 14
T Maven: Probleme beim Einbinden der Dependencies Tools - Maven, Gradle, Ant & mehr 9
E Maven Probleme beim Arquillian Deployen Tools - Maven, Gradle, Ant & mehr 0
P Maven Download-Probleme beim Build Tools - Maven, Gradle, Ant & mehr 5
U Probleme beim Reloaden des Applets im Browser Tools - Maven, Gradle, Ant & mehr 9
A Probleme beim Anzeigen des Applets Tools - Maven, Gradle, Ant & mehr 5
F Maven JAR Plugin Probleme Tools - Maven, Gradle, Ant & mehr 4
D [ERLEDIGT] Probleme mit Authorization in Nexus und mvn deploy plugin Tools - Maven, Gradle, Ant & mehr 1
schalentier Probleme mit Jenkins Tools - Maven, Gradle, Ant & mehr 7
G Probleme Jenkins mit Maven einzurichten Tools - Maven, Gradle, Ant & mehr 4
C Probleme mit Applet mit SQL im Browser Tools - Maven, Gradle, Ant & mehr 4
S Probleme mit Kombination Java JApplet;MySQL;Webserver Tools - Maven, Gradle, Ant & mehr 3
T Launch4j: eventuell Klassenpfad Probleme Tools - Maven, Gradle, Ant & mehr 4
H WebStart-Probleme mit JRE Version 1.6.0_18 Tools - Maven, Gradle, Ant & mehr 1
E Probleme mit Buckminster unter eclipse 3.4 Tools - Maven, Gradle, Ant & mehr 11
ARadauer Probleme mittels scp bei ant Tools - Maven, Gradle, Ant & mehr 1
F Probleme mit Java WebStart; Hauptklasse konnte nicht gef. Tools - Maven, Gradle, Ant & mehr 18
M Probleme mit JApplet Tools - Maven, Gradle, Ant & mehr 20
M Mein erstes Applet macht Probleme Tools - Maven, Gradle, Ant & mehr 4
M probleme mit signieren Tools - Maven, Gradle, Ant & mehr 6
C 3 "kleine" Probleme zu meinem Applet Tools - Maven, Gradle, Ant & mehr 11
A Probleme bei übergabe von Variabeln im Applet Tools - Maven, Gradle, Ant & mehr 9
U Probleme mit paint(Graphics g) Tools - Maven, Gradle, Ant & mehr 9
M WebStart 1.6 Probleme Tools - Maven, Gradle, Ant & mehr 8
R Probleme bei Applet mit dem IE7? Tools - Maven, Gradle, Ant & mehr 2
P MEDIA-Tracker macht Probleme? Tools - Maven, Gradle, Ant & mehr 6
0 Webstart-Probleme unter Java6 Tools - Maven, Gradle, Ant & mehr 2
R Slash-Probleme durch File Tools - Maven, Gradle, Ant & mehr 2
G Probleme mit Texteingabe in Applets Tools - Maven, Gradle, Ant & mehr 2
E Probleme mit Java WebStart Tools - Maven, Gradle, Ant & mehr 10
H Probleme mit setFont() Tools - Maven, Gradle, Ant & mehr 1
M Probleme mit Applets Tools - Maven, Gradle, Ant & mehr 5
S Probleme mit ActionListener bzw. actionPerformed Tools - Maven, Gradle, Ant & mehr 2
P Probleme mit IE und sp2 - Applet wird nicht angezeigt Tools - Maven, Gradle, Ant & mehr 11
F Probleme mit Jar bzw jar-Archiven Tools - Maven, Gradle, Ant & mehr 3
S Probleme mit einem Applet Tools - Maven, Gradle, Ant & mehr 2
P Probleme mit Applet Tools - Maven, Gradle, Ant & mehr 6
N Fehler beim Imgui mit Maven Tools - Maven, Gradle, Ant & mehr 7
M github + maven Fehler beim repository erstellen Tools - Maven, Gradle, Ant & mehr 1
H Problem beim Verschieben der main-class -> A jni error has occured, please check... Tools - Maven, Gradle, Ant & mehr 9
pkm Beim Deployen wird ein Package nicht gefunden, obwohl aus Buildpath. Tools - Maven, Gradle, Ant & mehr 0
X Maven Dependencies beim install mit in die Jar einbinden Tools - Maven, Gradle, Ant & mehr 6
B Webstart Java Webstart hängt sich beim Laden auf! Tools - Maven, Gradle, Ant & mehr 8
P Classpath beim Ausführen eines SQL-Scripts per ANT angeben Tools - Maven, Gradle, Ant & mehr 2
K Applet Fehler beim Starten Tools - Maven, Gradle, Ant & mehr 12
E Ant Beim zusammenfassen von CSV-Dateien nur bestimmt spalten auswählen Tools - Maven, Gradle, Ant & mehr 27
F Problem beim Kompilieren ohne IDE Tools - Maven, Gradle, Ant & mehr 5
J Fehler beim Parsen von web.xml mit web-app 2.5 Tools - Maven, Gradle, Ant & mehr 2
S Webstart Problem beim Start von Webstart Tools - Maven, Gradle, Ant & mehr 4
H Java Applet Problem beim einbinden in HTML Tools - Maven, Gradle, Ant & mehr 3
newcron Applet Keine warnung beim starten von Applets, die auf die HD zugreifen? Tools - Maven, Gradle, Ant & mehr 2
reibi Maven : Resourcen NICHT mit einbinden beim Builden Tools - Maven, Gradle, Ant & mehr 10
E Verzögerung beim Refresh (F5) mit einem Applet verursachen Tools - Maven, Gradle, Ant & mehr 16
T beim Kompilieren änderungen vornehmen Tools - Maven, Gradle, Ant & mehr 5
G Frage zur JARs beim deployen Tools - Maven, Gradle, Ant & mehr 5
S Ladebalken beim laden des Applets Tools - Maven, Gradle, Ant & mehr 9
G Problem beim deployen eines Applets Tools - Maven, Gradle, Ant & mehr 8
C JApplet soll beim Aufruf nicht neustarten Tools - Maven, Gradle, Ant & mehr 3
M Code ausführen beim Browser schließen / Alternative zu stop? Tools - Maven, Gradle, Ant & mehr 5
J Problem beim schreibenden Dateizugriff Tools - Maven, Gradle, Ant & mehr 7
D Fehler beim Applet laden! Tools - Maven, Gradle, Ant & mehr 9
H Applet Access Denied - Beim zugriff auf eine .txt Datei Tools - Maven, Gradle, Ant & mehr 8
G Browser stürtzt beim Appletaufruf ab Tools - Maven, Gradle, Ant & mehr 2
I Fehler beim Signieren der JAR Dateien für Webstart Tools - Maven, Gradle, Ant & mehr 1
D E/A-Ausnahme beim lesen (Applet will nicht starten) Tools - Maven, Gradle, Ant & mehr 3
P Problem beim Senden einer Datei Tools - Maven, Gradle, Ant & mehr 5
M Applet startet beim zweiten Aufruf nicht mehr? Tools - Maven, Gradle, Ant & mehr 4
saxos1983 Fehlerüberprüfung beim Laden von Bilder Tools - Maven, Gradle, Ant & mehr 3
Y falsches password beim signieren von applet Tools - Maven, Gradle, Ant & mehr 4
G Fehler beim Laden des Applets Tools - Maven, Gradle, Ant & mehr 7
S Access Denied beim Bild laden Tools - Maven, Gradle, Ant & mehr 7
R access denied beim Java Applet Tools - Maven, Gradle, Ant & mehr 5
D Problem beim einbinden von jar und class datei Tools - Maven, Gradle, Ant & mehr 8
S Informationen beim Benutzer ablegen Tools - Maven, Gradle, Ant & mehr 4
P Eclipse Problem beim JAR-erstellen Tools - Maven, Gradle, Ant & mehr 5
A access denied beim anzeigen von Bildern Tools - Maven, Gradle, Ant & mehr 2
R fehler beim übernehmen von applets Tools - Maven, Gradle, Ant & mehr 3
G Wie überprüft man beim Image ob es geklickt wurde? Tools - Maven, Gradle, Ant & mehr 9
D problem beim auslesen von text aus einem textfeld... Tools - Maven, Gradle, Ant & mehr 15
E Card beim CardLayoutManager mit paint() bemalen??? Tools - Maven, Gradle, Ant & mehr 4
R Code beim Beenden eines Applets ausführen? Tools - Maven, Gradle, Ant & mehr 1
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

Ähnliche Java Themen

Neue Themen


Oben