用java代码请求一个https站点,做tcpdump并查找“客户端密钥交换,更改密码规范,加密握手消息”会被设置为两条记录: 1.客户端密钥交换2.更改密码规范,加密握手消息如何在java中组合这三条握手消息到一条记录?
发布于 2011-06-22 06:30:24
你为什么要关心这些东西是怎么放在电线上的呢?你是想节省几个字节,还是有一个合理的理由呢?
我不知道Java实现的细节,也不知道您是否可以通过config/params来影响它,但从TLS协议的角度来看,如何在网络上发送握手消息没有任何区别。在单独记录的情况下,您只需发送一些额外的字节,仅此而已。
此外,对于这三种情况,它们不能组合在一条记录中,这是有原因的。ClientKeyExchange是明文消息,因此它会写入记录中。ChangeCipherSpec不是握手消息,而是一种记录类型,因此它不能与CKE进入相同的记录。由于容器服务本身是一种记录类型,因此您需要在其后面加上另一条封装在记录中的握手消息,因此您会看到3条单独的记录。此外,完成的消息是加密的,因此您需要在记录层添加MAC,并且不能与明文握手消息组合到同一条记录中。
我希望这能把它说清楚一点。
https://stackoverflow.com/questions/6428195
复制相似问题