SslSocketClient.java - SSL Socket Client Example

Q

How to write an SSL socket client code to communicate to a HTTPS Website using jsse.jar?

✍: FYIcenter

A

If you want to write an SSL socket client code to communicate to a HTTPS Website using jsse.jar, you can following the example below:

// Copyright (c) FYIcenter.com
import java.net.*;
import java.io.*;
import javax.net.ssl.*;

public class SslSocketClient {
   public static void main(String[] args) throws Exception {
      String host = "www.oracle.com";
     
      SSLSocketFactory factory = (SSLSocketFactory)SSLSocketFactory.getDefault();
      SSLSocket socket = (SSLSocket)factory.createSocket(host, 443);
      socket.startHandshake();

      PrintWriter out = new PrintWriter(new BufferedWriter(
         new OutputStreamWriter(socket.getOutputStream())));
      out.println("GET http://"+host+"/index.html HTTP/1.1");
      out.println();
      out.flush();

      BufferedReader in = new BufferedReader(new InputStreamReader(
          socket.getInputStream()));

      String line;
    int i = 0;
      while ((line=in.readLine())!=null && i<10) {
      System.out.println(line);
      i++;
    }

      in.close();
      out.close();
      socket.close();
   }
}

You can compile and run the above example in a command window:

\fyicenter>\local\jdk-1.8.0\bin\javac SslSocketClient.java

\fyicenter>\local\jdk-1.8.0\bin\java SslSocketClient

HTTP/1.1 200 OK
Server: Oracle-Application-Server-11g
Last-Modified: Sun, 24 Jun 2017 18:03:50 GMT
device_type: Any
host_service: FutureTenseContentServer:11.1.1.8.0
X-Powered-By: Servlet/2.5 JSP/2.1
Content-Language: en-US
Content-Type: text/html; charset=UTF-8
X-Frame-Options: SAMEORIGIN
Content-Length: 42129

 

SslSocketInfo.java - SSL Socket Information

GetServerCertificate.java - Get Server Certificate

Examples for jsse.jar - Java Secure Socket Extension

⇑⇑ FAQ for jsse.jar - Java Secure Socket Extension

2018-03-31, 2204🔥, 0💬