Sample code for 30+ languages & platforms
Java

Upgrade a Plain TCP Connection to TLS

See more Socket/SSL/TLS Examples

Demonstrates Socket.ConvertToSsl, which upgrades an already-connected plain TCP socket to TLS by performing a client-side TLS handshake over the existing connection.

Background. This supports STARTTLS-style upgrades, where a protocol begins in plaintext and switches to TLS at a defined point. Perform the protocol-specific negotiation first, then call ConvertToSsl.

Chilkat Java Downloads

Java
import com.chilkatsoft.*;

public class ChilkatExample {

  static {
    try {
        System.loadLibrary("chilkat");
    } catch (UnsatisfiedLinkError e) {
      System.err.println("Native code library failed to load.\n" + e);
      System.exit(1);
    }
  }

  public static void main(String argv[])
  {
    boolean success = false;

    CkSocket socket = new CkSocket();

    //  Connect as plain TCP (no TLS yet).
    boolean bTls = false;
    int maxWaitMs = 5000;
    success = socket.Connect("example.com",5000,bTls,maxWaitMs);
    if (success == false) {
        System.out.println(socket.lastErrorText());
        return;
        }

    //  At the point where the application protocol permits a STARTTLS-style upgrade, perform any required
    //  negotiation, then upgrade the existing connection to TLS with a client-side handshake.
    success = socket.ConvertToSsl();
    if (success == false) {
        System.out.println(socket.lastErrorText());
        return;
        }

    System.out.println("Connection upgraded to TLS.");
  }
}