hi,
  
 I am working on apache soap and in my 
scenario there is a retailer and a vendor
Vendor is one but retailers r many
so i want to authenticate each retailer who 
connects to my vendor for this i am trying to
implement Two way SSL in this case using apache soap

I have tried these two ways out but is unsuccessfull

Scenario One***
In this case i have my weblogic server up forlistening for SSL with Client auth, which 
works fine

now for apache i imported the server cert in keystore
which is default cacerts in jdk dir, and i have a client cert and followed the steps 
in apache doc
like created a client keystore, imported server and client cert in it and copied these 
lines
  // specify the location of where to find key material for the default TrustManager 
(this overrides jssecacerts and cacerts)
 
       
System.setProperty("javax.net.ssl.trustStore","d:\\jdk1.2.2\\jre\\lib\\security\\cacerts");
 
         // use Sun's reference implementation of a URL handler for the "https" URL 
protocol type. 
 
        
System.setProperty("java.protocol.handler.pkgs","com.sun.net.ssl.internal.www.protocol");
       
 
         // dynamically register sun's ssl provider
 
       Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());      

System.out.println("**************End of SSL Authentication**********");
System.out.println("******************111*****************");
String name="Amit";
URL url2 = null;
 url2 = new URL("https://localhost:7002/soap/servlet/rpcrouter";);


but it gives me an err as client cert missing
ERROR********[SOAPException: faultCode=SOAP-ENV:Client; msg=Error opening socket: 
null; targetException=java.lang
lArgumentException: Error opening socket: null]
ception: faultCode=SOAP-ENV:Client; msg=Error opening socket: null; 
targetException=java.lang.IllegalArgumentExce
Error opening socket: null]
 at 
org.apache.soap.transport.http.SOAPHTTPConnection.send(SOAPHTTPConnection.java:324)Tue 
Feb 19 11:14:07 GMT+05:30 2002:<D> <SSLListenThread> Problem accepting connection
java.io.IOException: require
ing


*********************************************************

This i Understood as the moment it calls
resp = call.invoke(url2, "");

this will try to authenticate both ways as this is another session 

########################################################

Scenario Two***

chk this out in my client prog i make programatic two way
authentication which works fine by using
TrustManager tm[] = { new Amit.MyTrustManager() };

//*************************************************
KeyStore ks2 = KeyStore.getInstance("PKCS12", "SunJSSE");
KeyManagerFactory kmf = KeyManagerFactory.getInstance("SUNX509");
and opening SSL socket and posting client cert to server

and getting two way done succesfully
after this in same code i call the invoke mthd
but the moment i call
resp = call.invoke(url2, "");
it again gives me the Scenario One err where these two
sessions of authentication and Call become different
so some how TWO WAY AUTH SSL DOES NOT WORK WITH 
APACHE SOAP, is there any workaround for this problem

Pl guide me for the same
regards

Amit Ingale
 
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to