Мне нужно, чтобы мой Java-апплет использовал мыльный веб-сервис поверх ssl.
Я знаю, что вы можете использовать сервлет в качестве посредника / прокси, но я хочу, чтобы апплет использовал веб-сервис напрямую через SSL.
Проблема заключается в предоставлении сертификатов веб-серверу, на котором размещены веб-службы.
Я предоставил эти параметры времени выполнения Java-апплета через панель управления Java:
-Djavax.net.ssl.keyStore = <local path to .p12
>
-Djavax.net.ssl.keyStorePassword = <password
>
Я также импортировал сертификат клиента (.p12) в качестве сертификата клиента через панель управления Java.
Я надеялся сделать:
KeyStore ks =
KeyStore.getInstance ( "JKS");
ks.load (новый
FileInputStream (System.getProperty ( "javax.net.ssl.keyStore"),
System.getProperty ( "javax.net.ssl.keyStorePassword") toCharArray ());.
и используйте хранилище ключей оттуда. Но не игра в кости! Кажется, я не могу получить доступ к этим свойствам из апплета. Я тоже не хочу жестко кодировать пути.
Я использую JRE 1.6.0_10
Есть ли другой способ заставить апплет использовать веб-сервис без использования прокси сервлета? Скорее всего, я иду по неверному пути.
Кроме того, мне было бы интересно, чтобы эта работа работала, если веб-служба отличается от той, на которой размещается апплет, если это возможно.
Кстати: подход сервлет-прокси, от которого я хочу отказаться, описан здесь:
http://www.ibm.com/developerworks/xml/library/x-jappws/
Спасибо!