I wrote some code to do FTP over SSL using Sockets. It worked well using the Java 1.4 JVM in my WebSphere 5.1 installation.
We upgraded to WebSphere 7.0, which uses a Java 1.6 JVM and now it doesn't work. It doesn't throw any exceptions, it just connects and doesn't communicate.
Does anyone know why? Here is my code.
I also tried it without the IBM JSSE2 socket factory and that just gives a NullPointerException on the createSocket call.
java.lang.NullPointerException
at com.ibm.websphere.ssl.protocol.SSLSocketFactory.createSocket(SSLSocketFactory.java:560)
We upgraded to WebSphere 7.0, which uses a Java 1.6 JVM and now it doesn't work. It doesn't throw any exceptions, it just connects and doesn't communicate.
Does anyone know why? Here is my code.
Code:
BufferedReader _in = null;
PrintWriter _out = null;
SSLSocket _dataSocket = null;
SSLSocket _sslClient = null;
SSLSocketFactory _factory = null;
public void connect(String host, int port) throws IOException {
Security.setProperty("ssl.SocketFactory.provider", "com.ibm.jsse2.SSLSocketFactoryImpl");
Security.setProperty("ssl.ServerSocketFactory.provider", "com.ibm.jsse2.SSLServerSocketFactoryImpl");
_factory = (SSLSocketFactory)SSLSocketFactory.getDefault();
_sslClient = (SSLSocket)_factory.createSocket(host, port);
_sslClient.setEnableSessionCreation(true);
_sslClient.setUseClientMode(true);
_sslClient.setKeepAlive(true);
_out = new PrintWriter(_sslClient.getOutputStream(), true);
_in = new BufferedReader(new InputStreamReader(_sslClient.getInputStream()));
}
I also tried it without the IBM JSSE2 socket factory and that just gives a NullPointerException on the createSocket call.
java.lang.NullPointerException
at com.ibm.websphere.ssl.protocol.SSLSocketFactory.createSocket(SSLSocketFactory.java:560)