You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Milazzo, Michael A HQISEC" <Mi...@us.army.mil> on 2005/01/10 20:55:22 UTC

Axis and SSL

Hello,


I deployed an Axis-based web service on Tomcat 5.0.16 and I can access the
web service over SSL within Eclipse.  I added the certificate for the web
service server and our CAs into both the local java keystore and the cacerts
keystore.  I unJARed all the Axis JARs and created one JAR for my client
application.  When I attempt to invoke the program from the command line, I
get an SSLHandshakeException saying that a trusted certificate could not be
found (but it works in Eclipse!).  I know the certificates have not expired,
been revoked, and are still valid.  I am using Java 1.4.2_06 on the Windows
platform.  Has anyone else encountered this issue? Also, I am not using SSL
client authentication.

Thanks,

Mike


Here is some of the output from the command line.

AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
 faultSubcode:
 faultString: javax.net.ssl.SSLHandshakeException:
sun.security.validator.Valida
torException: No trusted certificate found
 faultActor:
 faultNode:
 faultDetail:
 
{http://xml.apache.org/axis/}stackTrace:javax.net.ssl.SSLHandshakeExcept
ion: sun.security.validator.ValidatorException: No trusted certificate found
        at com.sun.net.ssl.internal.ssl.BaseSSLSocketImpl.a(Unknown Source)
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(Unknown Source)
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(Unknown Source)
        at com.sun.net.ssl.internal.ssl.SunJSSE_az.a(Unknown Source)
        at com.sun.net.ssl.internal.ssl.SunJSSE_az.a(Unknown Source)
        at com.sun.net.ssl.internal.ssl.SunJSSE_ax.a(Unknown Source)
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(Unknown Source)
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.j(Unknown Source)
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown
Sou
rce)
        at
org.apache.axis.components.net.JSSESocketFactory.create(JSSESocketFac
tory.java:186)
        at
org.apache.axis.transport.http.HTTPSender.getSocket(HTTPSender.java:1
31)
        at
org.apache.axis.transport.http.HTTPSender.writeToSocket(HTTPSender.ja
va:370)
        at
org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:88)
        at
org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrateg
y.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:147)
        at org.apache.axis.client.Call.invokeEngine(Call.java:2719)
        at org.apache.axis.client.Call.invoke(Call.java:2702)
        at org.apache.axis.client.Call.invoke(Call.java:2378)
        at org.apache.axis.client.Call.invoke(Call.java:2301)
        at org.apache.axis.client.Call.invoke(Call.java:1758)

Re: Axis and SSL

Posted by Venkat Reddy <vr...@gmail.com>.
There was some relevant discussion on the axis-user list yesterday.
See if that helps. If you want to post further on this thread please
direct it to axis-user list.


On Mon, 10 Jan 2005 12:55:22 -0700, Milazzo, Michael A HQISEC
<Mi...@us.army.mil> wrote:
> 
> 
> Hello, 
> 
> 
> I deployed an Axis-based web service on Tomcat 5.0.16 and I can access the
> web service over SSL within Eclipse.  I added the certificate for the web
> service server and our CAs into both the local java keystore and the cacerts
> keystore.  I unJARed all the Axis JARs and created one JAR for my client
> application.  When I attempt to invoke the program from the command line, I
> get an SSLHandshakeException saying that a trusted certificate could not be
> found (but it works in Eclipse!).  I know the certificates have not expired,
> been revoked, and are still valid.  I am using Java 1.4.2_06 on the Windows
> platform.  Has anyone else encountered this issue? Also, I am not using SSL
> client authentication.
> 
> Thanks, 
> 
> Mike 
> 
> 
> Here is some of the output from the command line. 
> 
> AxisFault 
>  faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException 
>  faultSubcode: 
>  faultString: javax.net.ssl.SSLHandshakeException:
> sun.security.validator.Valida 
> torException: No trusted certificate found 
>  faultActor: 
>  faultNode: 
>  faultDetail: 
>        
> {http://xml.apache.org/axis/}stackTrace:javax.net.ssl.SSLHandshakeExcept 
> ion: sun.security.validator.ValidatorException: No trusted certificate found
>         at com.sun.net.ssl.internal.ssl.BaseSSLSocketImpl.a(Unknown Source) 
>         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(Unknown Source) 
>         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(Unknown Source) 
>         at com.sun.net.ssl.internal.ssl.SunJSSE_az.a(Unknown Source) 
>         at com.sun.net.ssl.internal.ssl.SunJSSE_az.a(Unknown Source) 
>         at com.sun.net.ssl.internal.ssl.SunJSSE_ax.a(Unknown Source) 
>         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(Unknown Source) 
>         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.j(Unknown Source) 
>         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown
> Sou 
> rce) 
>         at
> org.apache.axis.components.net.JSSESocketFactory.create(JSSESocketFac 
> tory.java:186) 
>         at
> org.apache.axis.transport.http.HTTPSender.getSocket(HTTPSender.java:1 
> 31) 
>         at
> org.apache.axis.transport.http.HTTPSender.writeToSocket(HTTPSender.ja 
> va:370) 
>         at
> org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:88) 
>         at
> org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrateg 
> y.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:147) 
>         at org.apache.axis.client.Call.invokeEngine(Call.java:2719) 
>         at org.apache.axis.client.Call.invoke(Call.java:2702) 
>         at org.apache.axis.client.Call.invoke(Call.java:2378) 
>         at org.apache.axis.client.Call.invoke(Call.java:2301) 
>         at org.apache.axis.client.Call.invoke(Call.java:1758)