Java-апплет с использованием веб-сервисов через ssl - PullRequest
1 голос
/ 28 января 2009

Мне нужно, чтобы мой 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/

Спасибо!

1 Ответ

0 голосов
/ 28 января 2009

Чтобы получить доступ к свойствам и подключиться к хосту, отличному от того, от которого был получен апплет, вам потребуется (а) подписанный апплет и (б) разрешения, предоставляющие вашему апплету доступ, который ему необходим.

Возможно, вы захотите заглянуть в Java Web Start, чтобы доставить приложение вместо использования апплета.

РЕДАКТИРОВАТЬ: разрешения могут быть автоматическими после подписания апплета.

...