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

时间:2010-03-29 16:52:02

标签: java ssl corba

我正在尝试将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

1 个答案:

答案 0 :(得分:1)

好的,没关系,抱歉。我试图连接到错误的端口。不得不使用OASSLPort属性。