尝试连接到EJBCA Web服务并在ServerHelloDone上获取bad_certificate

时间:2013-06-29 01:02:59

标签: java ssl certificate x509certificate

我为这个问题真正的新手质量道歉。

我有一个EJBCA服务器,上面有两个CA.一个是我用。创建服务器实例的默认值。

我从EJBCA获取了wsdl并用它生成了Java代码。

使用生成的java客户端代码,我正在尝试打开与EJBCA服务器的连接 据EJBCA在这里说:http://ejbca.sourceforge.net/ws/org/ejbca/core/protocol/ws/client/gen/package-summary.html

这是初始化与服务器的连接的方法。

我从EJBCA服务器获取了truststore.jks文件,并从服务器获取了superadmin.jks文件,并将其放在我的本地计算机上,并将其作为资源提供给我的应用程序。

val truststore = this.getClass.getClassLoader.getResource("pathto/wsTrustStore")
    System.setProperty("javax.net.ssl.trustStore", truststore.getFile)
    System.setProperty("javax.net.ssl.trustStorePassword","wsTrustStorePassword")

    val keystore = this.getClass.getClassLoader.getResource("pathto/superadminKeyStore")
    System.setProperty("javax.net.ssl.keyStore", keystore.getFile)
    System.setProperty("javax.net.ssl.keyStorePassword", "superadminKeyStorePassword")

    val qname = new QName(componentConfig.getString("http://ws.protocol.components.ejbca.org/"), "EjbcaWSService")
    val service = new EjbcaWSService(new URL("https://myejbcaserver.com:8443/ejbca/ejbcaws/ejbcaws?wsdl"), qname)

    service.getEjbcaWSPort

这是java ssl调试日志

* CertificateRequest 证书类型:RSA,DSS,ECDSA 证书颁发机构: ServerHelloDone * *证书链


* ClientKeyExchange,RSA PreMasterSecret,TLSv1 新I / O工作人员#2,WRITE:TLSv1握手,长度= 141

...

新I / O工作人员#2,WRITE:TLSv1更改密码规范,长度= 1 * 已完成 verify_data:{95,232,182,57,141,10,130,36,152,210,86,173}


新I / O工作人员#2,WRITE:TLSv1握手,长度= 48 新的I / O工作者#2,等待close_notify或alert:状态1 新I / O工作者#2,READ:TLSv1警报,长度= 2 新I / O工作人员#2,RECV TLSv1警告:致命,bad_certificate %%无效:[Session-1,TLS_RSA_WITH_AES_128_CBC_SHA] 新的I / O工作者#2,名为closeSocket() 新的I / O worker#2,等待关闭时出现异常javax.net.ssl.SSLHandshakeException:收到致命警报:bad_certificate 新的I / O工作者#2,处理异常:javax.net.ssl.SSLHandshakeException:收到致命警报:bad_certificate

是否有任何有此经验的人可以帮助我?

0 个答案:

没有答案