如何在 JSSE 中记录 TLSv1.3 密钥以便 Wireshark 解码流量

How to log TLSv1.3 keys in JSSE for Wireshark to decode traffic

我一直在(成功地)通过密钥日志文件查看 Wireshark 中的 TLSv1.2 流量。但我想做一些类似于 TLSv1.3 的事情。

https://github.com/square/okhttp/pull/6060

这遵循此处描述的方法 https://security.stackexchange.com/questions/35639/decrypting-tls-in-wireshark-when-using-dhe-rsa-ciphersuites

我想知道是否有人对 Java JSSE for TLSv1.3 进行过类似的工作?

我知道我需要记录 CLIENT_EARLY_TRAFFIC_SECRET、CLIENT_HANDSHAKE_TRAFFIC_SECRET、SERVER_HANDSHAKE_TRAFFIC_SECRET、CLIENT_TRAFFIC_SECRET_0 或 SERVER_TRAFFIC_SECRET_0。但我不确定 JSSE 中的正确挂钩。


https://wiki.wireshark.org/TLS#Using_the_.28Pre.29-Master-Secret

上找到现有技术

具体来说

https://github.com/neykov/extract-tls-secrets

http://jsslkeylog.sourceforge.net/

https://wiki.wireshark.org/TLS#Using_the_.28Pre.29-Master-Secret

上找到现有技术

具体来说

https://github.com/neykov/extract-tls-secrets

http://jsslkeylog.sourceforge.net/

对于 github 项目,下载 https://repo1.maven.org/maven2/name/neykov/extract-tls-secrets/4.0.0/extract-tls-secrets-4.0.0.jar

然后 运行 在尝试连接之前执行以下命令。 OkHttp 的示例程序打印 PID,然后因此有 10 秒的延迟。

$ java -jar ~/Downloads/extract-tls-secrets-4.0.0.jar list
$ java -jar ~/Downloads/extract-tls-secrets-4.0.0.jar <pid> /tmp/secrets.log