Skip to content

Instantly share code, notes, and snippets.

@ringoluo
Created July 21, 2015 00:54
Show Gist options
  • Save ringoluo/8e328923b5507d0c0c2b to your computer and use it in GitHub Desktop.
Save ringoluo/8e328923b5507d0c0c2b to your computer and use it in GitHub Desktop.
SSL Java Demo
keytool -genkey -keystore sslkeystore -keyalg RSA
package com.company;
import javax.net.ssl.SSLSocket;
import javax.net.ssl.SSLSocketFactory;
import java.io.*;
/**
* java
* -Djavax.net.ssl.trustStore=sslkeystore
* -Djavax.net.ssl.trustStorePassword=123456
* -Djava.protocol.handler.pkgs=com.sun.net.ssl.internal.www.protocol
* -Djavax.net.debug=ssl
* com.company.SSLServer
*/
public class SSLClient {
public static void main(String[] args) throws IOException {
SSLSocketFactory sslSocketFactory =
(SSLSocketFactory) SSLSocketFactory.getDefault();
SSLSocket sslSocket = (SSLSocket) sslSocketFactory.createSocket("localhost", 9999);
InputStream inputStream = System.in;
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
OutputStream outputStream = sslSocket.getOutputStream();
OutputStreamWriter outputStreamWriter = new OutputStreamWriter(outputStream);
BufferedWriter bufferedWriter = new BufferedWriter(outputStreamWriter);
String line = null;
while ((line = bufferedReader.readLine()) != null) {
bufferedWriter.write(line + '\n');
bufferedWriter.flush();
}
}
}
package com.company;
import javax.net.ssl.SSLServerSocket;
import javax.net.ssl.SSLServerSocketFactory;
import javax.net.ssl.SSLSocket;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
/**
* java
* -Djavax.net.ssl.keyStore=sslkeystore
* -Djavax.net.ssl.keyStorePassword=123456
* -Djava.protocol.handler.pkgs=com.sun.net.ssl.internal.www.protocol
* -Djavax.net.debug=ssl
* com.company.SSLServer
*/
public class SSLServer {
public static void main(String[] args) throws IOException {
SSLServerSocketFactory sslServerSocketFactory =
(SSLServerSocketFactory) SSLServerSocketFactory.getDefault();
SSLServerSocket sslServerSocket =
(SSLServerSocket) sslServerSocketFactory.createServerSocket(9999);
SSLSocket sslSocket = (SSLSocket) sslServerSocket.accept();
InputStream inputStream = sslSocket.getInputStream();
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String line = null;
while ((line = bufferedReader.readLine()) != null) {
System.out.println(line);
System.out.flush();
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment