Java by API/javax.net.ssl/SSLSession

Материал из Java эксперт
Перейти к: навигация, поиск

SSLSession: getCipherSuite()

   <source lang="java">
 

import java.io.PrintStream; import java.math.BigInteger; import java.net.ServerSocket; import java.net.Socket; import java.security.cert.Certificate; import java.security.cert.X509Certificate; import javax.net.ssl.SSLServerSocketFactory; import javax.net.ssl.SSLSession; import javax.net.ssl.SSLSocket; public class MainClass {

 public static void main(String args[]) throws Exception {
   System.setProperty("javax.net.ssl.keyStore", "lfkeystore2");
   System.setProperty("javax.net.ssl.keyStorePassword", "wshr.ut");
   SSLServerSocketFactory ssf = (SSLServerSocketFactory) SSLServerSocketFactory.getDefault();
   ServerSocket ss = ssf.createServerSocket(5432);
   while (true) {
     Socket s = ss.accept();
     SSLSession session = ((SSLSocket) s).getSession();
     Certificate[] cchain2 = session.getLocalCertificates();
     for (int i = 0; i < cchain2.length; i++) {
       System.out.println(((X509Certificate) cchain2[i]).getSubjectDN());
     }
     System.out.println("Peer host is " + session.getPeerHost());
     System.out.println("Cipher is " + session.getCipherSuite());
     System.out.println("Protocol is " + session.getProtocol());
     System.out.println("ID is " + new BigInteger(session.getId()));
     System.out.println("Session created in " + session.getCreationTime());
     System.out.println("Session accessed in " + session.getLastAccessedTime());
     PrintStream out = new PrintStream(s.getOutputStream());
     out.println("Hi");
     out.close();
     s.close();
   }
 }

}


 </source>
   
  
 
  



SSLSession: getCreationTime()

   <source lang="java">
 

import java.io.PrintStream; import java.math.BigInteger; import java.net.ServerSocket; import java.net.Socket; import java.security.cert.Certificate; import java.security.cert.X509Certificate; import javax.net.ssl.SSLServerSocketFactory; import javax.net.ssl.SSLSession; import javax.net.ssl.SSLSocket; public class MainClass {

 public static void main(String args[]) throws Exception {
   System.setProperty("javax.net.ssl.keyStore", "lfkeystore2");
   System.setProperty("javax.net.ssl.keyStorePassword", "wshr.ut");
   SSLServerSocketFactory ssf = (SSLServerSocketFactory) SSLServerSocketFactory.getDefault();
   ServerSocket ss = ssf.createServerSocket(5432);
   while (true) {
     Socket s = ss.accept();
     SSLSession session = ((SSLSocket) s).getSession();
     Certificate[] cchain2 = session.getLocalCertificates();
     for (int i = 0; i < cchain2.length; i++) {
       System.out.println(((X509Certificate) cchain2[i]).getSubjectDN());
     }
     System.out.println("Peer host is " + session.getPeerHost());
     System.out.println("Cipher is " + session.getCipherSuite());
     System.out.println("Protocol is " + session.getProtocol());
     System.out.println("ID is " + new BigInteger(session.getId()));
     System.out.println("Session created in " + session.getCreationTime());
     System.out.println("Session accessed in " + session.getLastAccessedTime());
     PrintStream out = new PrintStream(s.getOutputStream());
     out.println("Hi");
     out.close();
     s.close();
   }
 }

}


 </source>
   
  
 
  



SSLSession: getId()

   <source lang="java">
 

import java.io.PrintStream; import java.math.BigInteger; import java.net.ServerSocket; import java.net.Socket; import java.security.cert.Certificate; import java.security.cert.X509Certificate; import javax.net.ssl.SSLServerSocketFactory; import javax.net.ssl.SSLSession; import javax.net.ssl.SSLSocket; public class MainClass {

 public static void main(String args[]) throws Exception {
   System.setProperty("javax.net.ssl.keyStore", "lfkeystore2");
   System.setProperty("javax.net.ssl.keyStorePassword", "wshr.ut");
   SSLServerSocketFactory ssf = (SSLServerSocketFactory) SSLServerSocketFactory.getDefault();
   ServerSocket ss = ssf.createServerSocket(5432);
   while (true) {
     Socket s = ss.accept();
     SSLSession session = ((SSLSocket) s).getSession();
     Certificate[] cchain2 = session.getLocalCertificates();
     for (int i = 0; i < cchain2.length; i++) {
       System.out.println(((X509Certificate) cchain2[i]).getSubjectDN());
     }
     System.out.println("Peer host is " + session.getPeerHost());
     System.out.println("Cipher is " + session.getCipherSuite());
     System.out.println("Protocol is " + session.getProtocol());
     System.out.println("ID is " + new BigInteger(session.getId()));
     System.out.println("Session created in " + session.getCreationTime());
     System.out.println("Session accessed in " + session.getLastAccessedTime());
     PrintStream out = new PrintStream(s.getOutputStream());
     out.println("Hi");
     out.close();
     s.close();
   }
 }

}


 </source>
   
  
 
  



SSLSession: getLastAccessedTime()

   <source lang="java">
 

import java.io.PrintStream; import java.math.BigInteger; import java.net.ServerSocket; import java.net.Socket; import java.security.cert.Certificate; import java.security.cert.X509Certificate; import javax.net.ssl.SSLServerSocketFactory; import javax.net.ssl.SSLSession; import javax.net.ssl.SSLSocket; public class MainClass {

 public static void main(String args[]) throws Exception {
   System.setProperty("javax.net.ssl.keyStore", "lfkeystore2");
   System.setProperty("javax.net.ssl.keyStorePassword", "wshr.ut");
   SSLServerSocketFactory ssf = (SSLServerSocketFactory) SSLServerSocketFactory.getDefault();
   ServerSocket ss = ssf.createServerSocket(5432);
   while (true) {
     Socket s = ss.accept();
     SSLSession session = ((SSLSocket) s).getSession();
     Certificate[] cchain2 = session.getLocalCertificates();
     for (int i = 0; i < cchain2.length; i++) {
       System.out.println(((X509Certificate) cchain2[i]).getSubjectDN());
     }
     System.out.println("Peer host is " + session.getPeerHost());
     System.out.println("Cipher is " + session.getCipherSuite());
     System.out.println("Protocol is " + session.getProtocol());
     System.out.println("ID is " + new BigInteger(session.getId()));
     System.out.println("Session created in " + session.getCreationTime());
     System.out.println("Session accessed in " + session.getLastAccessedTime());
     PrintStream out = new PrintStream(s.getOutputStream());
     out.println("Hi");
     out.close();
     s.close();
   }
 }

}


 </source>
   
  
 
  



SSLSession: getPeerCertificates()

   <source lang="java">

import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.PrintWriter; import java.security.Principal; import java.security.cert.X509Certificate; import javax.net.ssl.SSLPeerUnverifiedException; import javax.net.ssl.SSLSession; import javax.net.ssl.SSLSocket; import javax.net.ssl.SSLSocketFactory; public class MainClass {

 public static void main(String[] args) throws Exception {
   SSLSocketFactory factory = (SSLSocketFactory) SSLSocketFactory.getDefault();
   String hostName = "hostName";
   String fileName = "fileName";
   SSLSocket sslsock = (SSLSocket) factory.createSocket(hostName, 443);
   SSLSession session = sslsock.getSession();
   X509Certificate cert;
   try {
     cert = (X509Certificate) session.getPeerCertificates()[0];
   } catch (SSLPeerUnverifiedException e) {
     System.err.println(session.getPeerHost() + " did not present a valid certificate.");
     return;
   }
   System.out.println(session.getPeerHost() + " has presented a certificate belonging to:");
   Principal p = cert.getSubjectDN();
   System.out.println("\t[" + p.getName() + "]");
   System.out.println("The certificate bears the valid signature of:");
   System.out.println("\t[" + cert.getIssuerDN().getName() + "]");
   System.out.print("Do you trust this certificate (y/n)? ");
   System.out.flush();
   BufferedReader console = new BufferedReader(new InputStreamReader(System.in));
   if (Character.toLowerCase(console.readLine().charAt(0)) != "y")
     return;
   PrintWriter out = new PrintWriter(sslsock.getOutputStream());
   out.print("GET " + fileName + " HTTP/1.0\r\n\r\n");
   out.flush();
   BufferedReader in = new BufferedReader(new InputStreamReader(sslsock.getInputStream()));
   String line;
   while ((line = in.readLine()) != null)
     System.out.println(line);
   sslsock.close();
 }

}


 </source>
   
  
 
  



SSLSession: getPeerHost()

   <source lang="java">

import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.PrintWriter; import java.security.Principal; import java.security.cert.X509Certificate; import javax.net.ssl.SSLPeerUnverifiedException; import javax.net.ssl.SSLSession; import javax.net.ssl.SSLSocket; import javax.net.ssl.SSLSocketFactory; public class MainClass {

 public static void main(String[] args) throws Exception {
   SSLSocketFactory factory = (SSLSocketFactory) SSLSocketFactory.getDefault();
   String hostName = "hostName";
   String fileName = "fileName";
   SSLSocket sslsock = (SSLSocket) factory.createSocket(hostName, 443);
   SSLSession session = sslsock.getSession();
   X509Certificate cert;
   try {
     cert = (X509Certificate) session.getPeerCertificates()[0];
   } catch (SSLPeerUnverifiedException e) {
     System.err.println(session.getPeerHost() + " did not present a valid certificate.");
     return;
   }
   System.out.println(session.getPeerHost() + " has presented a certificate belonging to:");
   Principal p = cert.getSubjectDN();
   System.out.println("\t[" + p.getName() + "]");
   System.out.println("The certificate bears the valid signature of:");
   System.out.println("\t[" + cert.getIssuerDN().getName() + "]");
   System.out.print("Do you trust this certificate (y/n)? ");
   System.out.flush();
   BufferedReader console = new BufferedReader(new InputStreamReader(System.in));
   if (Character.toLowerCase(console.readLine().charAt(0)) != "y")
     return;
   PrintWriter out = new PrintWriter(sslsock.getOutputStream());
   out.print("GET " + fileName + " HTTP/1.0\r\n\r\n");
   out.flush();
   BufferedReader in = new BufferedReader(new InputStreamReader(sslsock.getInputStream()));
   String line;
   while ((line = in.readLine()) != null)
     System.out.println(line);
   sslsock.close();
 }

}


 </source>
   
  
 
  



SSLSession: getProtocol()

   <source lang="java">
 

import java.io.PrintStream; import java.math.BigInteger; import java.net.ServerSocket; import java.net.Socket; import java.security.cert.Certificate; import java.security.cert.X509Certificate; import javax.net.ssl.SSLServerSocketFactory; import javax.net.ssl.SSLSession; import javax.net.ssl.SSLSocket; public class MainClass {

 public static void main(String args[]) throws Exception {
   System.setProperty("javax.net.ssl.keyStore", "lfkeystore2");
   System.setProperty("javax.net.ssl.keyStorePassword", "wshr.ut");
   SSLServerSocketFactory ssf = (SSLServerSocketFactory) SSLServerSocketFactory.getDefault();
   ServerSocket ss = ssf.createServerSocket(5432);
   while (true) {
     Socket s = ss.accept();
     SSLSession session = ((SSLSocket) s).getSession();
     Certificate[] cchain2 = session.getLocalCertificates();
     for (int i = 0; i < cchain2.length; i++) {
       System.out.println(((X509Certificate) cchain2[i]).getSubjectDN());
     }
     System.out.println("Peer host is " + session.getPeerHost());
     System.out.println("Cipher is " + session.getCipherSuite());
     System.out.println("Protocol is " + session.getProtocol());
     System.out.println("ID is " + new BigInteger(session.getId()));
     System.out.println("Session created in " + session.getCreationTime());
     System.out.println("Session accessed in " + session.getLastAccessedTime());
     PrintStream out = new PrintStream(s.getOutputStream());
     out.println("Hi");
     out.close();
     s.close();
   }
 }

}


 </source>