javax.net.ssl.SSLHandshakeException: Received fatal alert: bad_certificate

Can anyone please HELP me with this.

I have a client that makes an RPC call through SOAP to a server method over SSL. I have configured tomcat for the ssl communication. My tomcat seems to be behaving alright but I can' t say this with 100% surity though due to this exception. Anyways please look at the following stacktrace and give me an explanation as to what this exception is and how can I fix it.

AxisFault

faultCode: {http://xml.apache.org/axis/}Server.userException

faultString: javax.net.ssl.SSLHandshakeException: Received fatal alert: bad_certificate

faultActor: null

faultDetail:

stackTrace: javax.net.ssl.SSLHandshakeException: Received fatal alert: bad_certificate

at com.sun.net.ssl.internal.ssl.BaseSSLSocketImpl.a(DashoA6275)

at com.sun.net.ssl.internal.ssl.BaseSSLSocketImpl.b(DashoA6275)

at com.sun.net.ssl.internal.ssl.SSLSocketImpl.b(DashoA6275)

at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA6275)

at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA6275)

at com.sun.net.ssl.internal.ssl.HandshakeOutStream.flush(DashoA6275)

at com.sun.net.ssl.internal.ssl.SunJSSE_ax.a(DashoA6275)

at com.sun.net.ssl.internal.ssl.SunJSSE_az.j(DashoA6275)

at com.sun.net.ssl.internal.ssl.SunJSSE_az.a(DashoA6275)

at com.sun.net.ssl.internal.ssl.SunJSSE_az.a(DashoA6275)

at com.sun.net.ssl.internal.ssl.SunJSSE_ax.a(DashoA6275)

at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA6275)

at com.sun.net.ssl.internal.ssl.SSLSocketImpl.j(DashoA6275)

at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(DashoA6275)

at org.apache.axis.components.net.JSSESocketFactory.create(JSSESocketFactory.java:244)

at org.apache.axis.transport.http.HTTPSender.getSecureSocket(HTTPSender.java:156)

at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:116)

at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:71)

at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:156)

at org.apache.axis.SimpleChain.invoke(SimpleChain.java:126)

at org.apache.axis.client.AxisClient.invoke(AxisClient.java:182)

at org.apache.axis.client.Call.invokeEngine(Call.java:2113)

at org.apache.axis.client.Call.invoke(Call.java:2102)

at org.apache.axis.client.Call.invoke(Call.java:1851)

at org.apache.axis.client.Call.invoke(Call.java:1777)

at org.apache.axis.client.Call.invoke(Call.java:1315)

at sslsoap.MyBeanSoapBindingStub.getSample(MyBeanSoapBindingStub.java:81)

at sslsoap.MyBeanSoapBindingSkeleton.getSample(MyBeanSoapBindingSkeleton.java:65)

at sslsoapclient.Client.main(Client.java:28)

javax.net.ssl.SSLHandshakeException: Received fatal alert: bad_certificate

at org.apache.axis.AxisFault.makeFault(AxisFault.java:120)

at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:134)

at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:71)

at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:156)

at org.apache.axis.SimpleChain.invoke(SimpleChain.java:126)

at org.apache.axis.client.AxisClient.invoke(AxisClient.java:182)

at org.apache.axis.client.Call.invokeEngine(Call.java:2113)

at org.apache.axis.client.Call.invoke(Call.java:2102)

at org.apache.axis.client.Call.invoke(Call.java:1851)

at org.apache.axis.client.Call.invoke(Call.java:1777)

at org.apache.axis.client.Call.invoke(Call.java:1315)

at sslsoap.MyBeanSoapBindingStub.getSample(MyBeanSoapBindingStub.java:81)

at sslsoap.MyBeanSoapBindingSkeleton.getSample(MyBeanSoapBindingSkeleton.java:65)

at sslsoapclient.Client.main(Client.java:28)

Caused by: javax.net.ssl.SSLHandshakeException: Received fatal alert: bad_certificate

at com.sun.net.ssl.internal.ssl.BaseSSLSocketImpl.a(DashoA6275)

at com.sun.net.ssl.internal.ssl.BaseSSLSocketImpl.b(DashoA6275)

at com.sun.net.ssl.internal.ssl.SSLSocketImpl.b(DashoA6275)

at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA6275)

at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA6275)

at com.sun.net.ssl.internal.ssl.HandshakeOutStream.flush(DashoA6275)

at com.sun.net.ssl.internal.ssl.SunJSSE_ax.a(DashoA6275)

at com.sun.net.ssl.internal.ssl.SunJSSE_az.j(DashoA6275)

at com.sun.net.ssl.internal.ssl.SunJSSE_az.a(DashoA6275)

at com.sun.net.ssl.internal.ssl.SunJSSE_az.a(DashoA6275)

at com.sun.net.ssl.internal.ssl.SunJSSE_ax.a(DashoA6275)

at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA6275)

at com.sun.net.ssl.internal.ssl.SSLSocketImpl.j(DashoA6275)

at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(DashoA6275)

at org.apache.axis.components.net.JSSESocketFactory.create(JSSESocketFactory.java:244)Exce 1: ; nested exception is:

javax.net.ssl.SSLHandshakeException: Received fatal alert: bad_certificate

at org.apache.axis.transport.http.HTTPSender.getSecureSocket(HTTPSender.java:156)

at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:116)

... 12 more

I would appreciate any feedback I get in this regard.

Thanks.

[5297 byte] By [khurramkhan1974a] at [2007-10-1 2:57:49]
# 1
Yo can test your Apache configuration using openssl s_client -connect your@url:portnumberRegardsRichard
markham.r@gmx.dea at 2007-7-8 15:36:10 > top of Java-index,Security,Java Secure Socket Extension (JSSE)...
# 2

I have tried your suggeston to test Apache configuration, by the way it is tomcat. Anyways, I executed the following command:

openssl s_client -connect localhost:8443

I did not type in "@" and username because I don't have a username. After executing the command, I got the following messages:

CONNECTED(00000003)

depth=0 /C=IE/ST=Dublin/L=Dublin/O=Trinity College Dublin/OU=ComputerEngineering/CN=localhost

verify error:num=18:self signed certificate

verify return:1

depth=0 /C=IE/ST=Dublin/L=Dublin/O=Trinity College Dublin/OU=ComputerEngineering/CN=localhost

verify return:1

18211:error:14094412:SSL routines:SSL3_READ_BYTES:sslv3 alert bad certificate:s3_pkt.c:1052:SSL alert number 42

18211:error:140790E5:SSL routines:SSL23_WRITE:ssl handshake failure:s23_lib.c:226:

From the looks of it, I gather it is giving me some error messages, but I can't understand them. If you could explain them to me what they are and how they can help me solve my issue.

Thanks for your help.

Khurram

khurramkhan1974a at 2007-7-8 15:36:10 > top of Java-index,Security,Java Secure Socket Extension (JSSE)...