axis2.AxisFault:[clientAuthRequired]找不到客户端证书

时间:2013-04-29 08:27:27

标签: java axis2 client-certificates

我在尝试时获取此异常(未找到客户端证书) 连接到需要客户端证书的安全Web服务。我是 使用由axis2自动生成的Web服务客户端,使用 Eclipse向导。

这是调用代码,它导致最后一行中的异常:

System.setProperty("javax.net.ssl.trustStore","C:\\Archivos de programa\\Java\\jre7\\lib\\security\\cacerts");
System.setProperty("javax.net.ssl.trustStorePassword", "changeit");
System.setProperty("javax.net.ssl.keyStore","D:\\Perfil Usuario\\internet\\Escritorio\\workspace\\certificados\\clientes.jks");
System.setProperty("javax.net.ssl.keyStorePassword", "changeit");
ServicioBoletinStub lala = new ServicioBoletinStub();
ConsultaDeCatalogo cons = new ConsultaDeCatalogo();
cons.setArgs0("SECCIONES");
ConsultaDeCatalogoResponse conResp = lala.consultaDeCatalogo(cons);

客户端证书导入“clientes.jks”密钥库,以及所有 身份验证路径的其他所需证书位于“cacerts”中。

我唯一需要做的就是转换客户端证书 .p12到.cer,因为keytool抱怨.p12文件不是 x509证书。 .p12文件使用密码加密,但是.cer 文件不是,所以我担心期间会遗漏一些东西 转换。我对处理证书很新,所以我不知道我是什么 我失踪了。

我还使用SSLPoke来测试连接,并且没有给出任何错误。

非常感谢。

1 个答案:

答案 0 :(得分:1)

好的,问题出在客户端证书的导入过程中,如怀疑的那样。 Keytool没有将私钥导入“clientes.jks”密钥库。

我从此密钥库中删除了所有内容,并按照此帖子(http://cunning.sharp.fm/2008/06/importing_private_keys_into_a.html)导入客户端证书和私钥。

无论如何,我认为Axis2应该指定异常消息来自SOAP响应消息:我认为它是自己生成的。