kann ich prüfen, ob eine Java-applet-Zertifikat ist vertrauenswürdig, vor dem ausführen von mein applet?
Ich habe ein signiertes applet auf einer Webseite. Weil dieses, die Java-Sicherheits-Dialogfeld angezeigt, und der Benutzer muss die Erlaubnis erteilen, auf das applet, bevor Sie es tun können, es ist Arbeit. Was ich tun will, ist dies:
- Ich will die website, um zu erklären, die
im Dialogfeld Sicherheit für den Benutzer
bevor es kommt. Die Seite
zeigen einige Erklärung text in ein div,
und nach ein paar Sekunden, die Sicherheit
dialog wird erscheinen. - Wenn der Benutzer bereits erlaubt, das Zertifikat in einer früheren Sitzung, es sollte
führen Sie einfach das applet ohne zusätzliche
dialog.
Das problem ist, dass die Sicherheits-dialog erscheint, sobald das applet in die Seite eingebettet. Ich kann delay-Einbettung, aber es gibt keine Möglichkeit, es zu überprüfen, dass die Berechtigungen aus dem applet selbst, da er tun muss, bevor es geladen ist.
Vielleicht konnte ich laden, einen zweiten, normalen applet, das läuft unsichtbar und prüft Berechtigungen. Aber wie würde ich tun? Gibt es irgendwelche Java-Klassen, die überprüfen können, ob ein Zertifikat vertrauenswürdig ist, indem der client?
Dank.
- Ich weiß, die java-Sicherheits-dialog erscheint nur beim ersten applet starten. Und wenn der Benutzer überprüft die box Immer Vertrauen in die brevet - security dialog erscheint nie wieder. Aber wenn der Benutzer wählt, um Vertrauen es Einmal - es wird auf den nächsten Start. Und man kann nicht aufhören es programmatisch aus Gründen der Sicherheit.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie überprüfen Sie das Zertifikat und die Signatur eines JAR-Datei programmaticly, genau wie die JVM beim laden des Applets. Es ist nicht einfach sein wird, aber, zumindest auf den ersten Blick, Sie gehen zu müssen, um dies zu tun:
Verwenden Sie eine versteckte applet zu laden Sie Ihre Gläser, und überprüfen Sie Ihre Zertifikate, wie das applet-viewer. Sie können dies manuell tun mit der
java.security.cert
Paket. Der beste Weg, um herauszufinden, wie zu tun, dass war dieJarSigner
Quellcode, vor allem dieverifyJar()
. So etwas wie:Verwenden LiveConnect (vielleicht etwas anderes?) um ein cookie zu setzen, damit Sie wissen", ob der Benutzer bereits erlaubt, das Zertifikat in einer früheren Sitzung".
Habe ich noch nicht geben, dass viel zu denken, so gibt es vielleicht einen besseren Weg. Viel Glück, und poste wieder!
JarSigner
code über Methoden für das signieren und überprüfen. Die FunktionverifyJar()
tut. Wenn Sie nicht vertraut sind mit, wie keystores/certificates arbeiten, empfehle ich tutorials wie Signed Applets und eine Signatur Überprüfen. Auch, wenn Sie bei der Bereitstellung eines Applets, das akzeptieren/verwerfen einer Anwendung, die Einstellung, aber es ist gespeichert, die von der JVM, nicht du (nicht genau, wohin). Nicht die keystore -;, enthält nur Schlüssel, keine Einstellungen.