有爹知道 https 双向认证时候,服务端使用客户端证书干了什么么?

335 天前
 main1234

在单向认证时候,服务端发给客户端证书,客户端校验证书然后用证书里面的公钥加密了一个 random ,服务端收到 random 后用私钥解密,为双方的第三个 random

那么在双向认证时候,客户端发给服务端证书,服务端到底用客户端证书干了什么???查了一些博客,现在有几种说法

1.只验证 2.验证+服务端用客户端公钥加密了加密套件,客户端用私钥解密加密套件 3.验证+服务端用客户端公钥加密 random-S

在第二种说法中,加密套件不是 client hello 时候客户端发过去的么?在 server hello 后服务端会选择一个加密方案,双向认证时候,加密套件在客户端验证完服务端证书后发送??

7020 次点击
所在节点    程序员
50 条回复
nxuu
334 天前
我看到了人间大爱.
eairjhioaegnh
334 天前
下次我也这么提问哈哈哈
FaiChou
334 天前
@main1234 各种实现可能不一样有出入,那就看 rfc 文档怎么写的。
zbowen66
334 天前
@zbowen66 #22 这个是我之前在极客时间的课程里保存的图,课程在这: https://time.geekbang.org/column/article/9492
iceheart
334 天前
1. Server 端 证书:
iceheart
334 天前
1. Server 端证书: 防止 Server 被假冒。
1. Client 端证书: 防止 Client 被假冒。
cndenis
334 天前
不同的 TLS 版本具体流程会有点区别的, 比如 TLS1.3 和 TLS1.2 相比变动就挺大的, 但很多地方并没有说明是哪个版本, op 可以注意一下
julyclyde
334 天前
我理解应该是仅验证吧
TLS 的加密协商似乎并没有用到客户端证书的内容
l4ever
333 天前
那么问题来了, app 里面使用双向认证可以防止 http 通讯数据被截获吗?

client 端不还是要提供证书?
别人逆向你的 app 依旧可以搞到方法和服务器通讯撒.
意义在哪?
julyclyde
333 天前
@l4ever “防止通信被截获”这个需求并不依赖客户端证书啊
只能说并不会冲突而已

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/1023857

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX