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

54 天前
 main1234

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

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

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

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

6242 次点击
所在节点    程序员
50 条回复
Belmode
54 天前
别客气。

不是很清楚~
suzhenyu
54 天前
@Belmode 哈哈哈,这人太坏了,还配合上这个头像。
goodman111
54 天前
ThirdFlame
54 天前
客户端将发送的信息 算哈希。 将哈希用客户端自己的私钥加密。发送给服务端。

服务端用客户的公钥解密,得到哈希。 并那这个哈希和客户端发送来的信息哈希比较,如果一致就说明这个信息时客户端发来的,并且没有被篡改。
busier
54 天前
服务端会获取客户端证书的信息 诸如 CN 等等。

你可以拿 phpinfo()测试一下,好像是在 SERVER[ ]里面

利用这个特性可以实现证书登陆验证
FaiChou
54 天前
这篇讲的很详细,可以参考下

http://www.884358.com/https-auth/
tool2d
54 天前
没你想那么复杂。

做微信支付的时候,官方 API 要求 SSL 请求必须带客户端证书,好知道你是谁。客户端证书就仅仅是校验用户身份的作用,和你用证书来登录远程 SSH 一样,没啥区别。

内容加密还是走老一套 TLS 。
gps949
54 天前
lxh1983
54 天前
孩子你可以抓包看交互的过程
tool2d
54 天前
"在 server hello 后服务端会选择一个加密方案,双向认证时候,加密套件在客户端验证完服务端证书后发送??"

不是,是一起发送的。你可以看 6 楼的文章里的 curl 输出,第一行是客户端证书,第二行是加密套件里的 key(也就是双方随机数计算的 pre-master secret),第三行是用客户端密钥计算的 hash 校验,防中间人篡改,三个包是连续一起发送的。

如果客户端证书没问题,那么服务器直接就 SSL 握手完成了,不会再次请求加密 KEY 。

* TLSv1.2 (OUT), TLS handshake, Certificate (11):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS handshake, CERT verify (15):
wyh19970626
54 天前
只做验证,服务端自签的 ca 签发客户端证书,用户携带客户端证书访问系统,服务端 Ca 校验客户端证书有效性。
siweipancc
54 天前
……这个不是有规范文档吗,还是我看的那份是假的?
bruce0
54 天前
我理解的, 单向的 https 中, 只有客户端,校验服务端是否是正确的(一般来说,会校验域名和证书是否一致)

在双向认证的 https 中, 不光客户端校验服务端, 服务端也会校验客户端是否靠谱(使用服务端保存的客户端根证书来校验客户端发来的公钥)
ShinichiYao
54 天前
就像你确认服务器是你要访问的服务器一样,可以确认访问服务器的是你
yuepu
54 天前
可以看看 SSL 的握手:
yuepu
54 天前
awalkingman
54 天前
评论区很和谐有爱
yulgang
54 天前
luzemin
53 天前
这就是提问的艺术!你看评论区有冷嘲热讽的吗?没有。
Dynesshely
53 天前
@luzemin 确实很聪明,op 有意思

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

https://www.v2ex.com/t/1023857

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

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

© 2021 V2EX