Intereting Posts
Java: обработка исключений в дочерних streamах Как реализовать тип завитки страницы, используемый в Google Play Книгах? Как установить предел для внутреннего запроса в Hibernate? Как сравнить, что последовательность удвоений все «приблизительно равна» в Java? Используйте JGit TreeWalk для отображения файлов и папок Как использовать подпапку как каталог приветствия web.xml локальные переменные, на которые ссылается внутренний class, должны быть окончательными или фактически окончательными Java | Создать явную функцию добавления только с использованием рекурсии и условных выражений Создание документации API остатка с использованием swagger или любого другого инструмента Cassandra не запускает причину AbstractMethodError с JDK до 8u161? Как разрешить анонимные подключения Twitter в конфигурации MVC Приостановка графического интерфейса Swing Изменение часового пояса без изменения времени в Java Jenkins / Maven: Не удалось разрешить путь JAVA_HOME по умолчанию, сбой сборки Организуйте количество дней в отдельные разделы на год, месяцы, дни, часы. Ява

Клиент JMS Solaris подключается к проблеме безопасности Webgt 11g t3s

Когда я пытаюсь подключить протокол Weblogic t3s в Solaris Server, он показывает эту ошибку:

java.lang.IllegalStateException: Not enough cryptography available to enable a cipher suite! at com.certicom.tls.interfaceimpl.TLSSystem.resetCipherSuiteSupport(Unknown Source) at com.certicom.tls.interfaceimpl.TLSSystem.setCertificateSupport(Unknown Source) at com.certicom.tls.interfaceimpl.TLSSystem.(Unknown Source) at com.certicom.tls.interfaceimpl.TLSSystem.(Unknown Source) at com.certicom.net.ssl.SSLContext.(Unknown Source) at com.bea.sslplus.CerticomSSLContext.(Unknown Source) at sun.reflect.GeneratedConstructorAccessor6.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at java.lang.Class.newInstance0(Class.java:355) at java.lang.Class.newInstance(Class.java:308) at weblogic.security.utils.SSLSetup.getSSLDelegateInstance(SSLSetup.java:122) at weblogic.security.utils.SSLContextWrapper.(SSLContextWrapper.java:48) at weblogic.security.utils.SSLContextWrapper.getInstance(SSLContextWrapper.java:43) at weblogic.security.utils.SSLSetup.getSSLContext(SSLSetup.java:238) at weblogic.security.SSL.SSLClientInfo.getSSLSocketFactory(SSLClientInfo.java:101) at weblogic.socket.ChannelSSLSocketFactory.getSocketFactory(ChannelSSLSocketFactory.java:170) at weblogic.socket.ChannelSSLSocketFactory.createSocket(ChannelSSLSocketFactory.java:77) at weblogic.socket.ChannelSSLSocketFactory.createSocket(ChannelSSLSocketFactory.java:114) at weblogic.socket.BaseAbstractMuxableSocket.createSocket(BaseAbstractMuxableSocket.java:133) at weblogic.rjvm.t3.MuxableSocketT3.newSocketWithRetry(MuxableSocketT3.java:206) at weblogic.rjvm.t3.MuxableSocketT3.connect(MuxableSocketT3.java:375) at weblogic.rjvm.t3.ConnectionFactoryT3S.createConnection(ConnectionFactoryT3S.java:34) at weblogic.rjvm.ConnectionManager.createConnection(ConnectionManager.java:1773) at weblogic.rjvm.ConnectionManager.findOrCreateConnection(ConnectionManager.java:1416) at weblogic.rjvm.ConnectionManager.bootstrap(ConnectionManager.java:437) at weblogic.rjvm.ConnectionManager.bootstrap(ConnectionManager.java:315) at weblogic.rjvm.RJVMManager.findOrCreateRemoteInternal(RJVMManager.java:251) at weblogic.rjvm.RJVMManager.findOrCreate(RJVMManager.java:194) at weblogic.rjvm.RJVMFinder.findOrCreateRemoteServer(RJVMFinder.java:238) at weblogic.rjvm.RJVMFinder.findOrCreateInternal(RJVMFinder.java:200) at weblogic.rjvm.RJVMFinder.findOrCreate(RJVMFinder.java:170) at weblogic.rjvm.ServerURL.findOrCreateRJVM(ServerURL.java:153) at weblogic.jndi.WLInitialContextFactoryDelegate$1.run(WLInitialContextFactoryDelegate.java:344) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147) at weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialContextFactoryDelegate.java:339) at weblogic.jndi.Environment.getContext(Environment.java:315) at weblogic.jndi.Environment.getContext(Environment.java:285) at weblogic.jndi.WLInitialContextFactory.getInitialContext(WLInitialContextFactory.java:117) at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667) at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288) at javax.naming.InitialContext.init(InitialContext.java:223) at javax.naming.InitialContext.(InitialContext.java:197) 

Я определил следующие параметры:

 -Djava.protocol.handler.pkgs=weblogic.net -Dweblogic.security.SSL.ignoreHostnameVerification=true -Dweblogic.security.TrustKeyStore=CustomTrust -Dweblogic.security.CustomTrustKeyStoreType=JKS -Dweblogic.security.CustomTrustKeyStoreFileName=keystore -Dweblogic.security.CustomTrustKeyStorePassPhrase=passphrase -Dssl.debug=true -Dweblogic.StdoutDebugEnabled=true 

Как я могу это исправить? В Windows работают одни и те же исходные и одинаковые параметры.

Спасибо.

    Это решение приходит немного поздно, но предназначено для других, имеющих ту же проблему.

    По-видимому, принятое решение о добавлении webserviceclient + ssl.jar к пути к classам работает, поскольку WebLogic Full Client – wlfullclient.jar имеет ссылки на другие JAR-файлы в файле MANIFEST.MF. Добавление клиента JS веб-сервисов устраняет проблему, поскольку для использования правильной работы клиента при использовании SSL / TLS он имеет минимальный набор classов, необходимых для правильной работы клиента. Ошибка обычно встречается, когда копии wlfullclient.jar и wlcipher.jar производятся в другом каталоге и добавляются в путь к classам. После этого JVM не загружает другие зависимые classы из JAR, на которые ссылаются из файла MANIFEST.

    Фактическим решением было бы добавить wlfullclient.jar, который сгенерирован в каталоге WL_HOME \ server \ lib, в CLASSPATH. Затем все другие зависимые JAR будут подхватываться через соответствующий загрузчик classов, поскольку манифест ссылается на них через относительные пути каталога.

    Используете ли вы один и тот же поставщик JVM на обеих машинах?

    Скорее всего, CA, используемый для создания хранилища ключей, доступен в доверенном хранилище Windows, но недоступен в Solaris, предположение, что хранилище ключей было создано в Windows, и CA еще не поставляется с JRE, используемым в Solaris . Различия обсуждаются здесь .

    Как настроить доверительный магазин для добавления ЦС

    Наконец, мы получили решение.

    Просто добавьте webserviceclient + ssl.jar в ваш путь к classу, чтобы решить проблему.

    • webserviceclient + ssl.jar не включен в wlfullclient.jar.

    Вы уверены, что вы keystore файл keystore ? Возможно, попробуйте использовать абсолютный путь при указании параметра -Dweblogic.security.CustomTrustKeyStoreFileName .

    Кроме того, classpath для JMS-клиента действительно идентичен в обеих средах?

    Попробуйте предоставить wlserver_10.3/server/lib/wlfullclient.jar (который вы создаете, запустив команду java -jar wljarbuilder.jar ) и wlserver_10.3/server/lib/wlcipher.jar (да, wlfullclient.jar не так полный!) на пути к classам.

    Это было упрощено для 10.3.4 и выше Weblogic.

    Просто добавьте wlthint3client.jar из каталога / server / lib в путь к клиенту вашего клиента

    Я только подтвердил, что это работает для связи ejb, но состояние документов

    Этот выпуск поддерживает следующее:

     Oracle WebLogic's T3/T3S protocol for Remote Method Invocation (RMI), including RMI over HTTP (HTTP tunneling). For more information on WebLogic T3 communication, see "Using WebLogic RMI with T3 Protocol" in Programming RMI for Oracle WebLogic Server. Access to JMS, JMX, JNDI, and EJB resources available in WebLogic Server. 

    http://docs.oracle.com/cd/E17904_01/web.1111/e13717/wlthint3client.htm