gpt4 book ai didi

java - 如何在 java 的 ssl session 中获取主 key ?

转载 作者:行者123 更新时间:2023-11-30 11:34:37 25 4
gpt4 key购买 nike

我的应用程序中有一个 sslscoket 作为服务器,我正在运行 java 1.6。我需要握手期间使用的主 key 来实现 MS-CHAP 质询响应等。我已经读到“这个主 key 的值只为底层安全套接字实现所知,不会通过 SSLSession API 公开”

如何获取master secret的值?

谢谢

最佳答案

Enumeration<byte[]> e = sslContext.sessionContext().getIds();
while ( e.hasMoreElements() ) {
byte[] b = e.nextElement();
System.out.println("session id: " + DatatypeConverter.printHexBinary(b).toLowerCase());
SSLSession session = sslContext.sessionContext().getSession(b);
Class<?> c = Class.forName("sun.security.ssl.SSLSessionImpl");
Field masterSecretField = c.getDeclaredField("masterSecret");
masterSecretField.setAccessible(true);
SecretKey k = (SecretKey)masterSecretField.get(session);
System.out.println("secret: " + DatatypeConverter.printHexBinary(k.getEncoded()).toLowerCase());

}

关于java - 如何在 java 的 ssl session 中获取主 key ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15566480/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com