src/main/example/SSLClientExample.java
public static void main( String[] args ) throws Exception {
		WebSocketChatClient chatclient = new WebSocketChatClient( new URI( "wss://localhost:8887" ) );

		// load up the key store
		String STORETYPE = "JKS";
		String KEYSTORE = "keystore.jks";
		String STOREPASSWORD = "storepassword";
		String KEYPASSWORD = "keypassword";

		KeyStore ks = KeyStore.getInstance( STORETYPE );
		File kf = new File( KEYSTORE );
		ks.load( new FileInputStream( kf ), STOREPASSWORD.toCharArray() );

		KeyManagerFactory kmf = KeyManagerFactory.getInstance( "SunX509" );
		kmf.init( ks, KEYPASSWORD.toCharArray() );
		TrustManagerFactory tmf = TrustManagerFactory.getInstance( "SunX509" );
		tmf.init( ks );

		SSLContext sslContext = null;
		sslContext = SSLContext.getInstance( "TLS" );
		sslContext.init( kmf.getKeyManagers(), tmf.getTrustManagers(), null );
		// sslContext.init( null, null, null ); // will use java's default key and trust store which is sufficient unless you deal with self-signed certificates

		SSLSocketFactory factory = sslContext.getSocketFactory();// (SSLSocketFactory) SSLSocketFactory.getDefault();

		chatclient.setSocketFactory( factory );

		chatclient.connectBlocking();

		BufferedReader reader = new BufferedReader( new InputStreamReader( System.in ) );
		while ( true ) {
			String line = reader.readLine();
			if( line.equals( "close" ) ) {
				chatclient.closeBlocking();
			} else if ( line.equals( "open" ) ) {
				chatclient.reconnect();
			} else {
				chatclient.send( line );
			}
		}

	}
public static void main( String[] args ) throws Exception {
		WebSocketChatClient chatclient = new WebSocketChatClient( new URI( "wss://localhost:8887" ) );

		// load up the key store
		String STORETYPE = "JKS";
		String KEYSTORE = "keystore.jks";
		String STOREPASSWORD = "storepassword";
		String KEYPASSWORD = "keypassword";

		KeyStore ks = KeyStore.getInstance( STORETYPE );
		File kf = new File( KEYSTORE );
		ks.load( new FileInputStream( kf ), STOREPASSWORD.toCharArray() );

		KeyManagerFactory kmf = KeyManagerFactory.getInstance( "SunX509" );
		kmf.init( ks, KEYPASSWORD.toCharArray() );
		TrustManagerFactory tmf = TrustManagerFactory.getInstance( "SunX509" );
		tmf.init( ks );

		SSLContext sslContext = null;
		sslContext = SSLContext.getInstance( "TLS" );
		sslContext.init( kmf.getKeyManagers(), tmf.getTrustManagers(), null );
		// sslContext.init( null, null, null ); // will use java's default key and trust store which is sufficient unless you deal with self-signed certificates

		SSLSocketFactory factory = sslContext.getSocketFactory();// (SSLSocketFactory) SSLSocketFactory.getDefault();

		chatclient.setSocketFactory( factory );

		chatclient.connectBlocking();

		BufferedReader reader = new BufferedReader( new InputStreamReader( System.in ) );
		while ( true ) {
			String line = reader.readLine();
			if( line.equals( "close" ) ) {
				chatclient.closeBlocking();
			} else if ( line.equals( "open" ) ) {
				chatclient.reconnect();
			} else {
				chatclient.send( line );
			}
		}

	}
public static void main ( String [ ] args ) throws Exception { WebSocketChatClient chatclient = new WebSocketChatClient ( new URI ( "wss://localhost:8887" ) ) ; // load up the key store String STORETYPE = "JKS" ; String KEYSTORE = "keystore.jks" ; String STOREPASSWORD = "storepassword" ; String KEYPASSWORD = "keypassword" ; KeyStore ks = KeyStore . getInstance ( STORETYPE ) ; File kf = new File ( KEYSTORE ) ; ks . load ( new FileInputStream ( kf ) , STOREPASSWORD . toCharArray ( ) ) ; KeyManagerFactory kmf = KeyManagerFactory . getInstance ( "SunX509" ) ; kmf . init ( ks , KEYPASSWORD . toCharArray ( ) ) ; TrustManagerFactory tmf = TrustManagerFactory . getInstance ( "SunX509" ) ; tmf . init ( ks ) ; SSLContext sslContext = null ; sslContext = SSLContext . getInstance ( "TLS" ) ; sslContext . init ( kmf . getKeyManagers ( ) , tmf . getTrustManagers ( ) , null ) ; // sslContext.init( null, null, null ); // will use java's default key and trust store which is sufficient unless you deal with self-signed certificates SSLSocketFactory factory = sslContext . getSocketFactory ( ) ; // (SSLSocketFactory) SSLSocketFactory.getDefault(); chatclient . setSocketFactory ( factory ) ; chatclient . connectBlocking ( ) ; BufferedReader reader = new BufferedReader ( new InputStreamReader ( System . in ) ) ; while ( true ) { String line = reader . readLine ( ) ; if ( line . equals ( "close" ) ) { chatclient . closeBlocking ( ) ; } else if ( line . equals ( "open" ) ) { chatclient . reconnect ( ) ; } else { chatclient . send ( line ) ; } } }
/*
Keystore with certificate created like so (in JKS format):

keytool -genkey -keyalg RSA -validity 3650 -keystore "keystore.jks" -storepass "storepassword" -keypass "keypassword" -alias "default" -dname "CN=127.0.0.1, OU=MyOrgUnit, O=MyOrg, L=MyCity, S=MyRegion, C=MyCountry"
/ * Keystore with certificate created like so ( in JKS format ) :