1

我正在尝试将 SSL 添加到现有的 CORBA 应用程序中,但我不断收到此错误:

org.omg.CORBA.NO_PERMISSION:客户端策略需要 SSL/TLS,但服务器不支持它 vmcid:0x0 次要代码:0 已完成:否
        在 org.jacorb.orb.iiop.ClientIIOPConnection.checkSSL(ClientIIOPConnection.java:535)
        在 org.jacorb.orb.iiop.ClientIIOPConnection.connect(ClientIIOPConnection.java:144)
        在 org.jacorb.orb.giop.GIOPConnection.sendMessage(GIOPConnection.java:835)
        在 org.jacorb.orb.giop.GIOPConnection.sendRequest(GIOPConnection.java:805)
        在 org.jacorb.orb.giop.ClientConnection.sendRequest(ClientConnection.java:302)
        在 org.jacorb.orb.giop.ClientConnection.sendRequest(ClientConnection.java:282)
        在 org.jacorb.orb.Delegate.invoke_internal(Delegate.java:919)
        在 org.jacorb.orb.Delegate.invoke(Delegate.java:868)
        在 org.jacorb.orb.Delegate.is_a(Delegate.java:1268)
        在 org.omg.CORBA.portable.ObjectImpl._is_a(ObjectImpl.java:112)
        在 databridge.autogen.ILoginManagerHelper.narrow(ILoginManagerHelper.java:57)
        在 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=标准实现名称



客户道具

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=标准实现名称
4

1 回答 1

1

好吧,没关系,对不起。我试图连接到错误的端口。必须使用 OASSLPort 属性。

于 2010-03-29T18:34:26.143 回答