import java.io.InputStream;
import java.io.OutputStream;
import java.security.Security;

import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSocket;
import javax.net.ssl.SSLSocketFactory;

public class SSLClient {

    public static void main(String[] args) throws Exception {
        Security.setProperty("jdk.certpath.disabledAlgorithms",
                "SHA1 jdkCA & usage TLSClient");
        System.out.println("jdk.certpath.disabledAlgorithms = "
                + Security.getProperty("jdk.certpath.disabledAlgorithms"));

        SSLContext context = JSSECertPathCheck.createSSLContext();
        SSLSocketFactory socketFactory = context.getSocketFactory();
        try (SSLSocket socket
                = (SSLSocket) socketFactory.createSocket("127.0.0.1", 8443)) {
            System.out.println("Client: connected");

            InputStream sslIS = socket.getInputStream();
            OutputStream sslOS = socket.getOutputStream();
            sslOS.write('C');
            sslOS.flush();
            sslIS.read();
            System.out.println("Client: finished");
        }
    }
}
