Hi Justin,

The problem is related to the fact that IBM includes their own version of JSSE in WAS. I believe others have had this problem, but I am not sure what their solution was. I found the following at <http://www.websphere-world.com/modules.php?name=News&new_topic=38>:

Anonymous writes "Hi folks,

The big thing you have to remember is that IBM has their own version of JSSE.

Make sure you have the C:/Program Files/IBM/Application Developer/plugins/com.ibm.etools.server.jdk/jre/lib/ext/ibm/jsse.jar in your classpath if you're using WSAD and in your code:

Instead of using:
System.setProperty("java.protocol.handler.pkgs","com.sun.net.ssl.intern al.www.protocol");
java.security.Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());


Use this:
System.setProperty( "java.protocol.handler.pkgs","com.ibm.net.ssl.internal.www.protocol"); java.security.Security.addProvider(new com.ibm.jsse.JSSEProvider());


Everything else is exactly the same."

Note: fyi. IBM does not officially support the use of IBM's JSSE provider in your application code (WAS3.5 and 4.0). It is bundled to support its own internal functions. Nevertheless, it works fine.

There is also some discussion of this at sun <http://forum.java.sun.com/thread.jsp? thread=288147&forum=2&message=1279111>.


I also suggest taking a look at google groups using the following query "jsse group:ibm.software.websphere.application-server.*". It seems many people have trouble getting JSSE working correctly in WAS 4.0, but there are also few answers.

Mike

On Jan 2, 2004, at 2:58 PM, J Yunke wrote:

Hi --

I'm brand new to the list, but not to mailing lists in general, and I've
done about three business days worth of research before resorting to this
e-mail.


I can get out to an external https site (on unusual port 444) using the
standard Sun client implementation, i.e.:


  URL url = new URL("https://www.fake-site.com:444/";);
  HttpsConnection conn = url.openConnection();

...but when I use HttpClient like this (where httpContent = an XML data
block):

  HttpClient client = new HttpClient();
  post = new PostMethod("https://www.fake-site.com:444/";);
  post.setRequestBody(httpContent);
  client.executeMethod(post);

...I get the following exception:

java.net.SocketException: SSL implementation not available

Now, in my research I know that this exception can be thrown for a
variety of reasons, such as a missing/defunct trust.store, missing
Provider specification, missing handler, missing JARs, but these are not
occurring here. I have proved that I have set up the proper Sun JSSE
environment, because, as I mentioned above, the standard
url.openConnection() works flawlessly. Due to several bugs in the Sun
client implementation that are fixed in HttpClient (such as better Proxy
authentication support, etc.) and my environment's dependency on JDK 1.3,
I'd really like to get HttpClient to work.


Additionally, when I run the HttpClient code above with
javax.net.debug=all set, I see that the SSL implementation _IS GETTING
INITIALIZED_ before the "SSL implementation not available" is reported.
This makes no sense to me -- if the implementation gets initialized, how
can it not be available?


  Lastly, anyone with WebSphere experience, this problem only occurs in
the WAS 4.04 runtime environment, but works without issue in the WSAD
development environment.

Anyone have any ideas? I'm desperate and appreciate any help.

-- Justin

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to