· 9 years ago · Jan 17, 2017, 09:32 AM
1Enumeration<byte[]> e = sslContext.sessionContext().getIds();
2 while ( e.hasMoreElements() ) {
3 byte[] b = e.nextElement();
4 System.out.println("session id: " + DatatypeConverter.printHexBinary(b).toLowerCase());
5 SSLSession session = sslContext.sessionContext().getSession(b);
6 Class<?> c = Class.forName("sun.security.ssl.SSLSessionImpl");
7 Field masterSecretField = c.getDeclaredField("masterSecret");
8 masterSecretField.setAccessible(true);
9 SecretKey k = (SecretKey)masterSecretField.get(session);
10 System.out.println("secret: " + DatatypeConverter.printHexBinary(k.getEncoded()).toLowerCase());
11
12 }