我所理解的是,证书的签名将是用CA的私钥加密的证书的散列,然后用服务器的私钥(证书的所有者)加密 .

SSL连接启动/协商还允许在ServerKeyExchange消息中发送公钥并单独发送公钥 . 这可能在签名算法仅支持身份验证而非加密或由于严格的加密策略的情况下完成 . 在这种情况下:

  • 证书(正文)是否包含公钥

  • 证书签名的计算是否涉及使用服务器的私钥

  • 如果1.和2.的答案为否,则表示客户端依赖ServerKeyExchange消息来获取服务器的公钥 . 是否有可能中间人拦截并更改ServerKeyMessage中的公钥?