java - IceSSL NullPointerException (java)

标签 java ssl ice

我正在使用 ICE 中间件开发应用程序。 我对 IceSSL 有疑问。像这样配置客户端和服务器之后:

Ice.Plugin.IceSSL=IceSSL.PluginFactory
IceSSL.DefaultDir=.
IceSSL.Keystore=ssl/s/s.jks
IceSSL.Password=qwerty
IceSSL.Truststore=ssl/s/s.jks

我收到这样的错误:

 -- 23.05.12 10:57:55:913 ServerApplication: Network: accepting ssl connection
   local address = 127.0.0.1:10001
   remote address = 127.0.0.1:65415
!! 23.05.12 10:57:56:086 ServerApplication: error: Ice.ThreadPool.Server-0: exception in `Ice.ThreadPool.Server':
   java.lang.NullPointerException
    at IceInternal.Network.addrToString(Network.java:1044)
    at IceSSL.TransceiverI.initialize(TransceiverI.java:60)
    at Ice.ConnectionI.initialize(ConnectionI.java:1831)
    at Ice.ConnectionI.message(ConnectionI.java:1038)
    at IceInternal.ThreadPool.run(ThreadPool.java:302)
    at IceInternal.ThreadPool.access$300(ThreadPool.java:12)
    at IceInternal.ThreadPool$EventHandlerThread.run(ThreadPool.java:643)
    at java.lang.Thread.run(Unknown Source)

   event handler: local address = 127.0.0.1:10001
   remote address = 127.0.0.1:65415

有人知道如何解决这个问题吗?

最佳答案

错误地将证书添加到 keystore 后,我遇到了同样的问题。如果您查看 keytool -list -keystore yourkeystore.jsk 的输出,您将看到证书列表。在我的例子中,两者都被列为 trustedCertEntry(这就是 keytool 在没有私钥的情况下显示证书的方式)。

Enter keystore password:  

(...)
Your keystore contains 2 entries

cacert, May 23, 2012, trustedCertEntry, 
Certificate fingerprint (SHA1): 47:...:5C
rsakey, May 23, 2012, trustedCertEntry, 
Certificate fingerprint (SHA1): D2:...:61

您的证书可能应该列为 PrivateKeyEntry,CA 的列为 trustedCertEntry

您可以尝试仅使用 key 工具生成证书。它适用于我的情况。 希望对您有所帮助。

关于java - IceSSL NullPointerException (java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10699018/

相关文章:

node.js - ZeroC Slide2js 出错

ruby - 安装ice时出现brew错误

java - 使用 if 语句计算水的物质状态?

java - 字符串分割

ssl - DMZ 服务器上的 ISAPI 筛选器 LDAP 身份验证错误

linux - 您在标准 HTTP(80) 端口上配置了 HTTPS(443)

corba - 仆人和对象 - 关系

java - 减少数组的多个值

java - 如何使用循环线填充三角形

tomcat - AWS ELB 和 Tomcat7 服务器的 HTTP 到 HTTPS 重定向