2011-01-02 2 views
2

Wir haben ein Java-Applet, das mit einer Feder-Anwendung auf Tomcat kommuniziert und mit der http-Invoker des Frühlings.machen Java-Plugin verwenden Sie die Browser-Zertifikate

Wir wollen das Applet mit SSL mit Client-Authentifizierung zu sichern, haben wir eine JSP-Seite für die Anmeldung, nach erfolgreicher Anmeldung lädt das Applet.

Die JSP-Seite ist mit ssl gesichert, wenn das Applet lädt die HTTP-Aufrufer innerhalb des Applets macht einen zweiten Handshake scheinbar nicht im Zusammenhang mit dem Browser-Handshake, OK, das stört mich nicht, aber ich möchte das Java-Plugin Um Browser-Zertifikate und Client-Zertifikate zu verwenden, muss ich das Client-Zertifikat auch über das Java-ControlPanel auf das Java-Plugin laden, und wenn das Zertifikat meines Servers selbstsigniert ist, muss ich das Server-Zertifikat auch in das Java-ControlPanel laden zum Nimmersatt.

Eine andere Sache ist, wenn das Applet beginnt zu laden das Java-Plugin öffnet einen Dialog nach dem Client-Keystore-Passwort fragen, ich möchte das vermeiden.

Also zum Schluss: Ich möchte, dass das Java-Plugin die vertrauenswürdigen Zertifikate und Client-Zertifikate des Browsers verwendet, und das Keystore-Passwort-Dialogfeld zu vermeiden, die auftaucht.

Ich habe es für zwei Tage gegoogelt und kann keine Ahnung finden, wie das zu erreichen ist.

Ich werde jede Hilfe zu schätzen wissen.

Ich benutze jdk 1.6.0 u23 und Firefox 3.6.13.

Antwort

1

Java hat seine eigene keystore Datenbank, die diese Client-Zertifikate enthält, dies wird von 3 Variablen gesteuert;

-Djavax.net.ssl.keyStore=<client_keystore_file_path> 
-Djavax.net.ssl.keyStorePassword=<password to access the client keystore file> 
-Djavax.net.ssl.keyStoreType=<keystore_type> 

zum Beispiel;

-Djavax.net.ssl.keyStore=c:\certs\client.pfx 
-Djavax.net.ssl.keyStorePassword=test 
-Djavax.net.ssl.keyStoreType=pkcs12 

Um in der Lage sein, dies zu nutzen, müssen Sie keytool Programm verwenden (das kommt mit JRE/JDK) Client-Zertifikaten in den Schlüsselspeicher, here ist ein Beispiel, wie dies zu tun, um zu konvertieren & hinzuzufügen.

+0

Danke für Ihre Antwort. tatsächlich habe ich etwas Erfahrung mit Java ssl, aber das ist keine Option in einem Applet, da nicht signierte Applets in ihrer Fähigkeit eingeschränkt sind, auf Systemeigenschaften und Dateisystem zuzugreifen. Die einzige Möglichkeit, dass unsignierte Applets ssl verwenden können, ist über den Plugin-HTTP-Verbindungsanbieter und Keystore, der mit dem Java-ControlPanel eingerichtet wurde, oder über den Browser-Keystore. Wir haben es mit Keystore im Java-Plugin ControlPanel, aber nicht mit dem Browser Keystore durchgeführt. – Shalom938

Verwandte Themen