java - TLS 服务器 key 交换消息的详细信息

标签 java ssl diffie-hellman public-key-exchange

这与我的 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/

相关文章:

java - Spring AMQP : CorrelationId changes between moment of sending and receiving a message

java - 使用 Java 连接 AWS aerospike 实例

ssl - 卡夫卡动物园管理员安全

使用 Tungstenite : SSL alert number 42 实现 SSL

php - 如何在单个文件上强制使用 HTTPS? (PHP)

elliptic-curve - Diffie-Hellman 密码学的椭圆曲线版本是如何工作的?

java - 重绘方法不起作用?

java - 这将是解析以下日志文​​件的 java 正则表达式

node.js - 在 Node.js 中使用加密自定义私钥

objective-c - C 中的 OpenSSL Diffie Hellman DER 编码