Hi All,
I am to call a secure webservice which requires a certificate. I am using IBM jre. I have added the provided certificate to a new kestore using keytool -import -trustcacerts -alias root -file certificate.crt -keystore mykeystore
added following lines to my code.
But still getting following exception:
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: javax.net.ssl.SSLHandshakeException: com.ibm.jsse2.util.h: No trusted certificate found
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace:javax.net.ssl.SSLHandshakeException: com.ibm.jsse2.util.h: No trusted certificate found
at com.ibm.jsse2.n.a(n.java:3)
at com.ibm.jsse2.jc.a(jc.java:501)
at com.ibm.jsse2.db.a(db.java:144)
at com.ibm.jsse2.db.a(db.java:416)
at com.ibm.jsse2.eb.a(eb.java:89)
at com.ibm.jsse2.eb.a(eb.java:291)
at com.ibm.jsse2.db.m(db.java:192)
at com.ibm.jsse2.db.a(db.java:79)
at com.ibm.jsse2.jc.a(jc.java:184)
at com.ibm.jsse2.jc.g(jc.java:257)
at com.ibm.jsse2.jc.a(jc.java:361)
at com.ibm.jsse2.jc.startHandshake(jc.java:304)
at org.apache.axis.components.net.JSSESocketFactory.create(JSSESocketFactory.java:186)
at org.apache.axis.transport.http.HTTPSender.getSocket(HTTPSender.java:191)
at org.apache.axis.transport.http.HTTPSender.writeToSocket(HTTPSender.java:404)
at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:138)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
at org.apache.axis.client.Call.invoke(Call.java:2767)
at org.apache.axis.client.Call.invoke(Call.java:2443)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)
at com.jaspersoft.jasperserver.irplugin.wsclient.RepositorySoapBindingStub.runReport(RepositorySoapBindingStub.java:171)
at com.jaspersoft.jasperserver.irplugin.wsclient.WSClient.runReport(WSClient.java:385)
at com.fidelity.IA.jasper.JasperServerReport.generateReport(JasperServerReport.java:101)
at com.fidelity.IA.jasper.IAReportWrapper.main(IAReportWrapper.java:149)
Caused by: com.ibm.jsse2.util.h: No trusted certificate found
at com.ibm.jsse2.util.g.a(g.java:46)
at com.ibm.jsse2.util.g.b(g.java:68)
at com.ibm.jsse2.util.e.a(e.java:2)
at com.ibm.jsse2.yb.checkServerTrusted(yb.java:46)
at com.ibm.jsse2.hb.checkServerTrusted(hb.java:22)
at com.ibm.jsse2.eb.a(eb.java:8)
... 24 more
Can you please help me resolve the problem. The code is running on Unix machine.
I added the same certificate to jre keystore on local machine (windows) and it works fine. But not on unix machine as I do not have access. I am using
java -Djavax.net.ssl.keyStore=mykeystore to run the program.
Thanks,
Me