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]