使用带有 SSL 的 JacORB (Java/CORBA) 的客户端策略错误

Posted

技术标签:

【中文标题】使用带有 SSL 的 JacORB (Java/CORBA) 的客户端策略错误【英文标题】:Client-side policy error using JacORB (Java/CORBA) with SSL 【发布时间】:2010-03-29 16:52:01 【问题描述】:

我正在尝试将 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=标准实现名称

【问题讨论】:

【参考方案1】:

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

【讨论】:

以上是关于使用带有 SSL 的 JacORB (Java/CORBA) 的客户端策略错误的主要内容,如果未能解决你的问题,请参考以下文章

CORBA - JacORB:使用固定端口生成 IOR?

Wildfly 中 Jacorb 的问题

jacorb 中的 InvalidName 异常

命名服务启动 Jacorb

本地 JacORB 调用:org.omg.CORBA.OBJECT_NOT_EXIST

如何使用带有 SSL 的 Spring WebSocketClient?