public static void main(String args[]) { int port = 6502; SSLServerSocket server; try { // get the keystore into memory KeyStore ks = KeyStore.getInstance("JKS"); ks.load(new FileInputStream(keyStore), keyStorePass); // initialize the key manager factory with the keystore data KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509"); kmf.init(ks, keyStorePass); // initialize the SSLContext engine // may throw NoSuchProvider or NoSuchAlgorithm exception // TLS - Transport Layer Security most generic SSLContext sslContext = SSLContext.getInstance("TLS"); // Inititialize context with given KeyManagers, TrustManagers, // SecureRandom defaults taken if null sslContext.init(kmf.getKeyManagers(), null, null); // Get ServerSocketFactory from the context object ServerSocketFactory ssf = sslContext.getServerSocketFactory(); // Now like programming with normal server sockets ServerSocket serverSocket = ssf.createServerSocket(port); System.out.println("Accepting secure connections"); Socket client = serverSocket.accept(); System.out.println("Got connection"); BufferedWriter out = new BufferedWriter(new OutputStreamWriter(client.getOutputStream())); BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream())); String username = in.readLine(); String password = in.readLine(); if (username.equals("Josh") && password.equals("GoBucs")) { out.write("Greeting Client"); } else { out.write("Sorry, you are not authorized"); } out.flush(); in.close(); out.close(); } catch (Exception e) { System.out.println("Exception thrown " + e); } }
public static void main(String args[]) { int port = 6502; try { // tell the system who we trust System.setProperty("javax.net.ssl.trustStore", "myCool.truststore"); // get an SSLSocketFactory SocketFactory sf = SSLSocketFactory.getDefault(); // an SSLSocket "is a" Socket Socket s = sf.createSocket("localhost", 6505); BufferedWriter out = new BufferedWriter(new OutputStreamWriter(s.getOutputStream())); BufferedReader in = new BufferedReader(new InputStreamReader(s.getInputStream())); Scanner scanner = new Scanner(System.in); String answer = in.readLine(); System.out.println(answer); String username = scanner.nextLine(); out.write(username + "\n"); out.flush(); answer = in.readLine(); System.out.println(answer); String password = scanner.nextLine(); out.write(password + "\n"); out.flush(); answer = in.readLine(); System.out.println(answer); out.close(); in.close(); // while(true); } catch (Exception e) { System.out.println("Exception thrown " + e); } }