这与我的 other question about DH parameters 基本相同(没有得到任何答案),但我有兴趣获取有关在 TLS 握手期间发送的 TLS 服务器 key 交换消息的信息。
这些消息——或者来自它们的信息,比如协商的临时 key ——是否可以通过 Java API 获得?我正在使用 Java SSLSocketFactory
获取 SSLSocket
然后使用它进行连接;没有其他 API 位于它之上(如 Apache http-client),我必须突破才能达到这个水平。
我只是不确定 Java 是否公开了这些信息。我尝试使用 HandshakeCompletedListener
,但这似乎没有提供任何我想要的信息。
有谁知道是否/如何做到这一点?
最佳答案
消息无法通过 API 获得,但是您可以使用 libpcap 捕获数据包,然后解析通过它的握手数据并将其存储在您的程序中。
按照此处的引用 http://download.java.net/jdk7/archive/b123/docs/api/javax/net/ssl/SSLSocket.html 我认为不可能从 API 打印 DH 参数。
关于java - TLS 服务器 key 交换消息的详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39536405/