Как подключиться к очереди WbLogic JMS с помощью t3s через полноценного клиента с двухсторонней аутентификацией SSL? - PullRequest
1 голос
/ 10 мая 2011

Я боролся с этим уже несколько дней. Я использую WebLogic 11g (10.3.4.0) в Windows (Linux ведет себя так же). Я настроил двухстороннюю аутентификацию SSL, следуя указаниям http://emo.sourceforge.net/cert-login-howto.html и http://middlewareforum.com/weblogic/?p=312. Я использовал JMeter в качестве клиента со следующими параметрами JVM. Автономный клиент Java ведет себя так же.

-Djavax.net.ssl.keyStoreType = pkcs12 -Djavax.net.ssl.trustStoreType = jks -Djavax.net.ssl.keyStore = c: /Users/sli/keys/browser.p12 -Djavax.net.debug = ssl -Djavax.net.ssl.keyStorePassword = PASSWORD-Djavax.net.ssl.trustStorePassword = changeit -Dweblogic.security.SSL.ignoreHostnameVerification = true

Отлично работает с тонким клиентом t3 (wlthint3client.jar), но не работает, когда я переключаюсь на полный клиент (wlfullclient.jar). Одно из приложений как-то застряло с полным клиентом. Это отдельная проблема. Кстати, полный клиент не заполнен, так как для SSL нужны webserviceclient + ssl.jar и cryptoj.jar. Он жалуется на следующее у клиента.

javax.naming.CommunicationException [Исключением корня является java.net.ConnectException: t3s: // localhost: 7503: пункт назначения недоступен; Вложенное исключение: com.bea.sslplus.TwoWaySSLHandshakeStageSocketException: SocketException во время двухстороннего рукопожатия; проверьте сертификат клиента или сетевое соединение; Нет доступного маршрутизатора к месту назначения]

Вот журнал на стороне сервера.

<39146459 SSL версия 2 без заполнения> <39149058 SSL3 / TLS MAC> <39149058 получил SSL_20_RECORD> <39149058 SSL3 / TLS MAC> <39149058 получил рукопожатие> (Неизвестный источник) at com.certicom.tls.record.handshake.HandshakeHandler.fireAlert (Неизвестный источник) в com.certicom.tls.record.handshake.ServerStateSentHelloDone.handle (Неизвестный источник) в com.certicom.tls.record.handshake.HandshakeHandler.handleHandshakeMessage (Неизвестный источник) в com.certicom.tls.record.handshake.HandshakeHandler.handleHandshakeMessages (Неизвестный источник) на com.certicom.tls.record.MessageInterpreter.interpretContent (неизвестный источник) в com.certicom.tls.record.MessageInterpreter.decryptMessage (Неизвестный источник) в com.certicom.tls.record.ReadHandler.processRecord (Неизвестный источник) на com.certicom.tls.record.ReadHandler.readRecord (неизвестный источник) на com.certicom.tls.record.ReadHandler.readUntilHandshakeComplete (неизвестный источник) at com.certicom.tls.interfaceimpl.TLSConnectionImpl.completeHandshake (неизвестный источник) в javax.net.ssl.impl.SSLSocketImpl.startHandshake (Неизвестный источник) на weblogic.server.channels.DynamicSSLListenThread $ 1.run (DynamicSSLListenThread.java:130) на weblogic.work.ExecuteThread.execute (ExecuteThread.java:207) на weblogic.work.ExecuteThread.run (ExecuteThread.java:176) > <37447543 SSL версия 2 без заполнения> <37447552 SSL3 / TLS MAC> <37447552 получил SSL_20_RECORD> <37447552 SSL3 / TLS MAC> <37447552 получил рукопожатие> (Неизвестный источник) at com.certicom.tls.record.handshake.HandshakeHandler.fireAlert (Неизвестный источник) в com.certicom.tls.record.handshake.ServerStateSentHelloDone.handle (Неизвестный источник) в com.certicom.tls.record.handshake.HandshakeHandler.handleHandshakeMessage (Неизвестный источник) в com.certicom.tls.record.handshake.HandshakeHandler.handleHandshakeMessages (Неизвестный источник) на com.certicom.tls.record.MessageInterpreter.interpretContent (неизвестный источник) в com.certicom.tls.record.MessageInterpreter.decryptMessage (Неизвестный источник) в com.certicom.tls.record.ReadHandler.processRecord (Неизвестный источник) на com.certicom.tls.record.ReadHandler.readRecord (неизвестный источник)на com.certicom.tls.record.ReadHandler.readUntilHandshakeComplete (неизвестный источник) at com.certicom.tls.interfaceimpl.TLSConnectionImpl.completeHandshake (неизвестный источник) в javax.net.ssl.impl.SSLSocketImpl.startHandshake (Неизвестный источник) на weblogic.server.channels.DynamicSSLListenThread $ 1.run (DynamicSSLListenThread.java:130) на weblogic.work.ExecuteThread.execute (ExecuteThread.java:207) на weblogic.work.ExecuteThread.run (ExecuteThread.java:176) >

Я провел некоторое исследование и обнаружил (/1840533/klient-solaris-jms-podklychaetsya-k-probleme-bezopasnosti-weblogic-11g-t3s), что кто-то заставил его работать с использованием полного клиента на t3s для двухсторонней аутентификации SSL, но ссылка не дает, как. Я также попытался использовать опцию безопасности WebLogic упоминается там, и он все еще не работает для меня.

Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 07 июня 2011

При настройке SSL для wlfullclient:

вы должны будете использовать подобные свойства.
-Dweblogic.security.TrustKeyStore=CustomTrust -Dweblogic.security.CustomTrustKeyStoreFileName=....

Выполните поиск для weblogic.security.TrustKeyStore, чтобы найти все соответствующие настройки.

...