Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JDK 11主机前秘密调试_Java_Ssl_Wireshark_Java 11 - Fatal编程技术网

Java JDK 11主机前秘密调试

Java JDK 11主机前秘密调试,java,ssl,wireshark,java-11,Java,Ssl,Wireshark,Java 11,使用稍微修改的Java 8兼容类型替换var,我可以这样运行它: $java8-cp-Djavax.net.debug=ssl,keygen javatester.simplehttpserver | grep Nonce-C 5 会话密钥: 毕业前的秘密: 0000:A7 7C E0 10 EB E5 7C 16 CF 70 65 30 04 AE 5B BC…..pe0。 0010:6F 61 52 6C FC 71 58 D9 F4 BD 10 70 69 10 62 2A船用qX…pi.

使用稍微修改的Java 8兼容类型替换var,我可以这样运行它:

$java8-cp-Djavax.net.debug=ssl,keygen javatester.simplehttpserver | grep Nonce-C 5
会话密钥:
毕业前的秘密:
0000:A7 7C E0 10 EB E5 7C 16 CF 70 65 30 04 AE 5B BC…..pe0。
0010:6F 61 52 6C FC 71 58 D9 F4 BD 10 70 69 10 62 2A船用qX…pi.b*
连接键:
客户暂时:
0000:A3 E4 45 27 77 6C 0D 5E BD F1 4E 9D 1E 2E 10 02..E'wl..N。。。。。
0010:7F 6E A1 EC C2 BC 40 E3 1E 32 A9 B9 13 3B 6C B5.n..2..l。
服务器当前值:
0000:5E B5 99 F9 02 EE C3 9E 84 30 01 32 B4 04 BA 38^ 0.2…8
0010:B1 D9 B2 D9 6E 54 F4 4C BF DC 60 98 97 AD 8B B2….nT.L。。。。。
主秘密:
0000:D6 14 BF 8E FF 69 93 9C DB 58 35 AC 65 EF 5B A2…i…X5.e.[。
0010:79 D7 3D 67 76 F7 CA 82 69 F9 30 34 9A C8 E7 EB y.=gv…i.04。。。。
我可以使用这些值来解码连接。但是,当我使用jdk 11运行此功能时,我没有得到任何keygen输出:

$java11-cp.-Djavax.net.debug=ssl,keygen javatester.simplehttpserver
在/0.0.0.0:8443启动单线程服务器
javax.net.ssl | DEBUG | 01 | main | 2020-05-08 13:51:10.479 EDT | SSLCipher.java:437 | jdk.tls.keyLimits:entry=AES/GCM/NoPadding KeyUpdate 2^37.AES/GCM/NoPadding:KeyUpdate=137438953472
javax.net.ssl | DEBUG | 01 | main | 2020-05-08 13:51:24.367 EDT | SSLCipher.java:1824 | KeyLimit read side:algorithm=AES/GCM/NOPADDING:keydupdate
倒计时值=137438953472
javax.net.ssl | DEBUG | 01 | main | 2020-05-08 13:51:24.369 EDT | SSLCipher.java:1978 | KeyLimit write-side:algorithm=AES/GCM/NOPADDING:keydupdate
倒计时值=137438953472
javax.net.ssl | ALL | 01 | main | 2020-05-08 13:51:24.382 EDT | X509Authentication.java:243 | No X.509 cert为EC选择
javax.net.ssl | ALL | 01 | main | 2020-05-08 13:51:24.382 EDT | X509Authentication.java:243 | No X.509 cert为EC选择
javax.net.ssl | ALL | 01 | main | 2020-05-08 13:51:24.382 EDT | X509Authentication.java:243 | No X.509 cert为EC选择
javax.net.ssl | DEBUG | 01 | main | 2020-05-08 13:51:24.414 EDT | SSLCipher.java:1978 | KeyLimit write-side:algorithm=AES/GCM/NOPADDING:keydupdate
倒计时值=137438953472
javax.net.ssl | DEBUG | 01 | main | 2020-05-08 13:51:24.417edt | SSLCipher.java:1824 | KeyLimit read-side:algorithm=AES/GCM/NOPADDING:keydupdate
倒计时值=137438953472
GET/HTTP/1.1
主机:localhost:8443
用户代理:Mozilla/5.0(X11;Linux x86_64;rv:68.0)Gecko/20100101 Firefox/68.0
接受:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
接受语言:en-US,en;q=0.5
接受编码:gzip,deflate,br
连接:保持活力
升级不安全的请求:1
javax.net.ssl | ALL | 01 | main | 2020-05-08 13:51:24.423 EDT | SSLSocketImpl.java:1002 |关闭输出流
javax.net.ssl | DEBUG | 01 | main | 2020-05-08 13:51:24.423 EDT | SSLSocketImpl.java:670 |关闭SSLSocket的出站
javax.net.ssl | ALL | 01 | main | 2020-05-08 13:51:24.424 EDT | SSLSocketImpl.java:877 |关闭输入流
javax.net.ssl | DEBUG | 01 | main | 2020-05-08 13:51:24.425 EDT | SSLSocketImpl.java:636 |关闭SSLSocket的入站
javax.net.ssl | DEBUG | 01 | main | 2020-05-08 13:51:24.425 EDT | SSLSocketImpl.java:473 | SSLSocket的双工关闭
javax.net.ssl | DEBUG | 01 | main | 2020-05-08 13:51:24.425 EDT | SSLSocketImpl.java:1381 |关闭ssl连接(被动)
我想知道这是否不再受支持,但help命令表明它是:

$java11-cp.-Djavax.net.debug=help javatester.simplehttpserver
(…剪掉)
ssl打开ssl调试
以下内容可与ssl一起使用:
记录启用每记录跟踪
握手打印每个握手信息
keygen打印密钥生成数据
会话打印会话活动
(剪下…)

如何从jdk11连接导出premaster机密,以便在Wireshark中使用它们?

如果较新的Java版本不再输出premaster机密,则可以使用该项目

动态解密HTTPS/TLS连接。从安全TLS连接中提取共享机密以用于Wireshark。连接到连接任一侧的Java进程以开始解密


该项目的代码可以在启动时使用
javaagent
系统注入TLS服务器或客户端,或者您可以连接到现有的Java进程(我假设通过Java调试器接口).

Java 11支持TLS 1.3。可能是TLS 1.3的更改之一也会影响预主密钥,因此不再打印?我会将服务器限制为特定的TLS版本集和密码套件使之具有可比性。或者,您可以尝试此方法来获取预主密钥。该项目有效,如果您给出答案,我将接受它