ssl - 在 SSL 握手中,数据是否在客户端 pre-master 交换之前被加密?

标签 ssl sslhandshakeexception

更具体的是服务器公钥交换是加密的吗?如果是,客户端如何解密服务器的公钥?

最佳答案

你看起来很困惑。

  • premaster secret 不交换。由客户发送。
  • 不交换服务器公钥。它由服务器在 Certificate 消息中包含的证书中发送。
  • 除非事先进行了握手,否则在发出 ChangeCipherSpec 消息之前不会加密任何内容。
  • 该消息是在预主 key 发送后的几个步骤发出的。
  • 服务器公钥不是 secret ,不需要加密。
  • 除非密码套件是 DSA 套件,否则客户端根本不需要服务器的公钥。

关于ssl - 在 SSL 握手中,数据是否在客户端 pre-master 交换之前被加密?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38917032/

相关文章:

c# - WCFTestClient 通过禁用 TLS 1.0 和 TLS 1.1 给出错误消息

python - cURL 查询有效,但 python 请求失败

python - Apache SSL 与 Python 简单 HTTP 服务器 SSL 安全问题

java - 使用 jersey 客户端通过 HTTPS 调用 api 时出现错误 handshake_failure。我已经关闭了服务器证书有效性检查

ssl - gitlab-runner 的 git clone 失败,出现 "Problem with the SSL CA cert (path? access rights?)"

linux - 从letsencrypt生成ssl时出错

javax.net.ssl.SSLHandshakeException

Android pre-lollipop 设备给出错误 "SSL handshake aborted: ssl=0x618d9c18: I/O error during system call, Connection reset by peer"

java - Java中的 key SSL套接字连接

java - 客户端和服务器的 SSL 握手失败