https中关于server key exchange的问题

该报文是对密钥交换算法ECDH参数的补充,但报文中的pubkey和signature是什么用途呢?

协商密钥交换算法是ECDH,使用的公钥是Certificate报文中的subjectPublicKeyInfo,解密应该是用服务器私钥。

签名是在Certificates报文中的algorithmIdentifier字段的encrypted,解密使用的内核中的公钥。

那server key exchange报文中携带的pubkey 和signature有什么作用呢,或者在哪个步骤起作用呢?

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这篇博客: https建立过程探索中的 server key exchange(服务端交换key) 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    这种属于ECDHE(EC Diffie-Helloman Server Params)
    HTTPS常用的密钥交换算法有两种,一种是RSA(过时),另一种是ECDHE(对称加密)
    什么是密钥交换呢?就是通过传递一些参数,并且双方通过计算确定对称加密的密钥,同时如果黑客获取了这些参数,也无法破解出密钥。
    而值得注意的是,使用RSA算法需要tls四次握手,ECDHE只需要三次,即本文使用的算法。

    ECDHE算法是这样演变的DH->DHE->ECDHE
    DHE是DH的实现,其中E(ephemeral:临时性的)代表客户端和服务器都生成临时的随机私钥,而不是只有客户端是随机的,而服务器是固定的
    ECDHE是DHE算法的优化,减少了乘法运算,利用ECC椭圆曲线的特性减少计算量。

    理解ECDHE才能明白server key exchange到底在干嘛,以及后续的client部分
    原文:https://www.likecs.com/default/index/show?id=124371
    在这里插入图片描述
    回到数据:
    请添加图片描述
    在这里插入图片描述
    椭圆曲线:
    请添加图片描述
    对椭圆曲线感兴趣的童鞋可以研究一下:https://zhuanlan.zhihu.com/p/40243602


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^