# Applet signieren



## peter_mueller (30. März 2006)

Hallo alle,

ich möchte aus einem Applet auf die Zwischenablage zugreifen, um einen Cut & Paste-Mechanismus zu implementieren.
Leider bekomme ich da eine unschöne Exception (java.security.AccessControlException: access denied (java.awt.AWTPermission accessClipboard) ).
Ich vermute mal, ich werde um das Signieren des Applets nicht herum kommen. Weiß zufällig jemand, 
- wie kompliziert das ist (z.B. unterschiedliches Vorgehen für unterschiedliche Browser etc...)?
- wo man HOWTOs oder Ähnliches finden kann?

Vielen Dank für Hinweise! Gruß,
Peter


----------



## peter_mueller (6. April 2006)

Hallo zusammen,

irgendwie ist das Ganze jetzt lange liegen geblieben, aber da ich das Problem jetzt in Angriff nehmen will, hier noch eine Anschlussfrage:

Würdet ihr sagen, dass es sinnvoller (und auch einfacher) ist, für das oben geschilderte Problem ein Applet zu signieren oder eine Applikation aus dem Applet zu machen und diese aus einer Webseite heraus über Java WebStart zum Laufen zu bringen?

Vielen Dank für eure Meinung!

Gruß,
Peter


----------



## illaX (7. April 2006)

Also nen applet zu signieren ist sehr einfach, im sdk wird nen jarsigner mitgeliefert. Dort muss man sich eine Signatur erstellen (Nur Daten ueber sich (Name, Frima, ...). Dann erstellt man das jar und mit dem Tool kann man es dan mit der erstellten Signatur signieren. Im Verhalten sind die Browser eigentlich gleich, da die nur erkennen muessen das es ein Applet ist, den Rest macht ja dann das jre...


----------



## peter_mueller (7. April 2006)

Hi,

danke für deine Einschätzung!



			
				illaX hat gesagt.:
			
		

> Also nen applet zu signieren ist sehr einfach, im sdk wird nen jarsigner mitgeliefert. Dort muss man sich eine Signatur erstellen (Nur Daten ueber sich (Name, Frima, ...). Dann erstellt man das jar und mit dem Tool kann man es dan mit der erstellten Signatur signieren.



OK, dann werde ich wohl diesen Weg verfolgen.



			
				illaX hat gesagt.:
			
		

> Im Verhalten sind die Browser eigentlich gleich, da die nur erkennen muessen das es ein Applet ist, den Rest macht ja dann das jre...



Ich hatte irgendwo in einem Forum gelesen, dass z.B. Netscape und IE unterschiedlich mit dem Signieren umgehen, aber wahrscheinlich waren das noch ältere Versionen ...?

Weißt du, ab welcher Version (IE / Netscape / Firefox bzw. wahrscheinlich hängt es eher an der JRE-Version?) die Behandlung gleich ist?

Gruß,
Peter


----------



## illaX (7. April 2006)

Also ich bin mir da auch nicht sicher, aber ich habe den IE und den Firefox und dort ist kein Unterschied zu erkennen.
Versionen die java nicht unterstuetzen sollten eigentlich schon aus der Mode sein, aber genaues weiss ich darueber nicht


----------



## peter_mueller (13. April 2006)

Hallo nochmal,

ich habe die umfangreichen Hinweise von Tom befolgt (http://www.tutorials.de/forum/java/232026-textdatein-mit-applet-auslesen.html), aber bleibe leider irgendwie hängen.

Ich habe folgende Schritte durchgeführt:

1) Erzeugen eines Jar-Files mit "jar cf myApplet.jar *"

2) Erzeugen eines Keys mit "keytool.exe -alias PeterMueller -genkey" --> scheint zu funktionieren!

3) Signieren des Appletes mit "jarsigner.exe C:\myApplet.jar PeterMueller" --> scheint auch zu funktionieren!

4) Einbingung des Jar-Files in HTML-Seite mit 


```
<applet
  codebase = "."
  code     = "MyApplet"
  archive  = "myApplet.jar"    
  MAYSCRIPT      <!-- Das Mayscript-Tag macht keine Probleme beim Einbinden des Jars, oder? --> 
>
<param name="id" value="<%=session.getAttribute("id")%>" />
</applet>
```

5) Jar in Root-Verzeichnis der WebApp gepackt --> hier musste ich das Jar-File entpacken, damit "MyApplet.class" gefunden werden konnte. Das scheint mir dem Sinn von Jars zuwider zu laufen, also vermute ich, dass ich irgendwas falsch mache, oder?

Das Hauptproblem ist, dass ich als User nicht gefragt werde, ob ich einem Zertifikat vertrauen will. Das Applet wird ganz normal angezeigt - mit den selben rechtlichen Beschränkungen wie vorher. Weiß jemand, was ich falsch mache?

Vielen Dank und schöne Grüße,
Peter


----------



## illaX (18. April 2006)

Ich hatte auch Probleme mit dem finden der Main-Klasse. Ich musste am Ende die Main im (default package) ablegen.

Es muss mit dem jar funktionieren.


----------

