我正在尝试将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以获取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
答案 0 :(得分:1)
好的,没关系,抱歉。我试图连接到错误的端口。不得不使用OASSLPort属性。