# Unsignierte WebStart Anwendung fragt vor Aktion - Wie?



## zilti (13. Feb 2008)

Hallo mal wieder,
Vor Kurzem habe ich eine unsignierte WebStart-Anwendung ausgeführt. (Von der SwingX Seite glaube ich).
Als diese eine Aktion ausführen wollte, die eigentlich eine Signatur erforderte, kam einfach ein Fenster der JVM und fragte, ob ich dem Programm die Erlaubnis gebe, dies zu tun. Wie kann ich das in einer eigenen Anwendung machen?


----------



## L-ectron-X (13. Feb 2008)

Dazu gibts einen FAQ-Beitrag: http://www.java-forum.org/de/viewtopic.php?t=18083

Edit: Ups. Sorry. Eine *unsignierte* Anwendung fragt nicht, ob sie ausgeführt werden darf. Die wirft eine AccessControlException, wenn sie kritische/unerlaubte Aktionen durchführen will.


----------



## zilti (13. Feb 2008)

Dort steht aber nur, wie ich signiere.


----------



## L-ectron-X (13. Feb 2008)

Nur signierte Applets/Webstart-Anwendungen fragen, ob der Benutzer das Zertifikat akzeptiert und damit die Anwendung ausgeführt werden darf.
Eine unsignierte Anwendung wird vor der Ausführung von kritischem Code von der VM mit einer AccessControllException gestoppt.


----------



## zilti (13. Feb 2008)

Ich glaube, wir reden etwas aneinander vorbei. Die Anwendung, die ich meine, war unsigniert. Wenn diese Anwendung dann z.B. eine Webseite in ein JEditorPane laden will, was ja ein Zertifikat erfordern würde, kommt ein JVM-Dialog, der fragt, ob ich diesen Vorgang zulassen will. Nix Zertifikat.


----------



## L-ectron-X (13. Feb 2008)

Und genau so ein Dialog bekommt der Benutzer nur zu sehen, wenn die Anwendung signiert ist. Wenn sie nicht signiert ist, wird die Anwendung in jedem Fall nicht weitergeführt.

Wie kommst du also darauf, dass die Anwendung nicht signiert war?
Am besten ist es wohl, wenn du mal ein Bild von diesem Dialog hier postest, dann versteht man vielleicht eher, was du meinst.


----------



## zilti (13. Feb 2008)

Hier hast du's.


----------



## L-ectron-X (13. Feb 2008)

Sorry, aber das ist der Dialog, von dem ich die ganze Zeit spreche.
Das ist der Dialog, der die erweiterten Rechte beim Benutzer anfordert. Und diesen Dialog wirst du nur zu sehen bekommen, wenn die Anwendung signiert ist. Bestätigst du diesen Dialog, akzeptierst du damit, dass das Programm potenziell unsichere Aktionen auf deinem System ausführen darf. Anderenfalls wird die Ausführung des Programms abgebrochen.

Ich nehme mal an, dass das Programm aus mindestens zwei Jar-Dateien besteht. Eine für das Hauptprogramm (nicht signiert) und die andere mit den kritischen Operationen bspw. für die Verbindung zu einem anderen Server. Diese muss signiert sein, sonst wird nichts weiter passieren.


----------



## zilti (13. Feb 2008)

Aber wenn ich eine Jar-Datei signiere, wird ja vor dem Programmstart gefragt, ob ich die Signatur annehmen will und nicht während. Und das ist ja auch kein normales Signaturfenster, wie es auftaucht bei einer signierten Datei.


----------

