сделать плагин Java использовать сертификаты браузера - PullRequest
2 голосов
/ 02 января 2011

У нас есть Java-апплет, который связывается с приложением Spring, работающим на Tomcat и использующим http invoker Spring.

Мы хотим защитить апплет с помощью ssl с аутентификацией клиента, у нас есть страница jsp для входа в систему, после успешного входа апплет загружается.

Страница jsp защищена с помощью ssl, когда апплет загружает http-инициатор внутри апплета и выполняет второе рукопожатие, очевидно, не связанное с рукопожатием браузера, хорошо, я не против, но я хочу, чтобы плагин Java использовать сертификаты браузера и клиентские сертификаты, но это не так, я должен загрузить клиентский сертификат в плагин Java также с помощью java ControlPanel, и если сертификат моего сервера самоподписан, то я должен загрузить сертификат сервера также в java ControlPanel и Nrowser.

Другое дело, когда апплет начинает загружать плагин Java, появляется диалоговое окно с запросом пароля хранилища ключей клиента, я бы хотел этого избежать.

Итак, в заключение: я бы хотел, чтобы плагин java использовал доверенные сертификаты браузера и клиентские сертификаты, а также избегал всплывающего диалогового окна пароля хранилища ключей.

Я уже два дня гуглял по ней и не могу понять, как этого добиться.

Буду признателен за любую помощь.

Я использую jdk 1.6.0 u23 и firefox 3.6.13.

Ответы [ 2 ]

1 голос
/ 09 ноября 2011

В документации плагина Java говорится, что апплеты могут обращаться к хранилищу ключей браузера:

http://www.java.net/external?url=http://java.sun.com/javase/6/docs/technotes/guides/deployment/deployment-guide/keystores.html

Но, к сожалению, документы скудны, и я никогда не пытался это сделать.

Удачи и опубликуйте свое решение здесь, если найдете его!

1 голос
/ 02 января 2011

Java имеет собственную keystore базу данных, в которой хранятся эти клиентские сертификаты, это управляется 3 переменными;

-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>

например;

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

Чтобы использовать это, вы должны использовать программу keytool (которая поставляется с JRE / JDK) для преобразования и добавления клиентских сертификатов в хранилище ключей, here - пример того, как сделать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...