Ошибка политики на стороне клиента при использовании JacORB (Java/CORBA) с SSL
Вопрос
Я пытаюсь добавить SSL в существующее приложение CORBA и постоянно получаю эту ошибку:
org.omg.CORBA.NO_PERMISSION: Client-side policy requires SSL/TLS, but server doesn't support it vmcid: 0x0 minor code: 0 completed: No at org.jacorb.orb.iiop.ClientIIOPConnection.checkSSL(ClientIIOPConnection.java:535) at org.jacorb.orb.iiop.ClientIIOPConnection.connect(ClientIIOPConnection.java:144) at org.jacorb.orb.giop.GIOPConnection.sendMessage(GIOPConnection.java:835) at org.jacorb.orb.giop.GIOPConnection.sendRequest(GIOPConnection.java:805) at org.jacorb.orb.giop.ClientConnection.sendRequest(ClientConnection.java:302) at org.jacorb.orb.giop.ClientConnection.sendRequest(ClientConnection.java:282) at org.jacorb.orb.Delegate.invoke_internal(Delegate.java:919) at org.jacorb.orb.Delegate.invoke(Delegate.java:868) at org.jacorb.orb.Delegate.is_a(Delegate.java:1268) at org.omg.CORBA.portable.ObjectImpl._is_a(ObjectImpl.java:112) at databridge.autogen.ILoginManagerHelper.narrow(ILoginManagerHelper.java:57) at databridge.test.Client.main(Client.java:59)
Я создал хранилища ключей для клиента и сервера и обменял ключи между ними.Используя эту настройку, я могу успешно запустить демонстрационное приложение, входящее в загрузку JacORB.Единственное отличие, которое я могу заметить, заключается в том, что мой тест использует метод Tie для получения POA.Есть некоторые политики, которые касаются этого, но я не могу найти никакой информации о том, какие политики должны быть там включены, чтобы включить SSL, если таковой имеется.Я даже не уверен, что это проблема, поскольку демо-версия JacORB не устанавливает никаких политик на сервере или PoA.Когда я запускаю -Djavax.net.debug=ssl, я вижу, что хранилища ключей загружают доверенные сертификаты как на клиенте, так и на сервере.Я просто не уверен, о каких политиках здесь идет речь, но странно, что демо-версия работает, а в тесте используются не те же самые хранилища ключей и свойства.
Я отправил электронное письмо в список рассылки, но не питаю особых надежд, поскольку он, похоже, не очень активен.Любая помощь будет принята с благодарностью.Ниже приведены мои файлы свойств.
Реквизит сервера:
jacorb.security.support_ssl=on jacorb.security.ssl.server.supported_options=60 jacorb.security.ssl.server.required_options=20 jacorb.ssl.socket_factory=org.jacorb.security.ssl.sun_jsse.SSLSocketFactory jacorb.ssl.server_socket_factory=org.jacorb.security.ssl.sun_jsse.SSLServerSocketFactory jacorb.security.keystore=dbserver.jks jacorb.security.keystore_password=dbsslserver_pass jacorb.security.jsse.trustees_from_ks=on jacorb.security.jsse.log.verbosity=4 jacorb.implname=StandardImplName
клиентский реквизит
jacorb.security.support_ssl=on jacorb.security.ssl.client.supported_options=60 jacorb.security.ssl.client.required_options=20 jacorb.ssl.socket_factory=org.jacorb.security.ssl.sun_jsse.SSLSocketFactory jacorb.security.keystore=dbclient.jks jacorb.security.keystore_password=dbsslclient_pass jacorb.security.jsse.trustees_from_ks=on jacorb.security.jsse.log.verbosity=4 jacorb.implname=StandardImplName
Решение
ОК, неважно, извини.Я пытался подключиться к неправильному порту.Пришлось использовать свойство OASSLPort.