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

查看 373|回复 38
作者:main1234   
在单向认证时候,服务端发给客户端证书,客户端校验证书然后用证书里面的公钥加密了一个 random ,服务端收到 random 后用私钥解密,为双方的第三个 random
那么在双向认证时候,客户端发给服务端证书,服务端到底用客户端证书干了什么???查了一些博客,现在有几种说法
1.只验证
2.验证+服务端用客户端公钥加密了加密套件,客户端用私钥解密加密套件
3.验证+服务端用客户端公钥加密 random-S
在第二种说法中,加密套件不是 client hello 时候客户端发过去的么?在 server hello 后服务端会选择一个加密方案,双向认证时候,加密套件在客户端验证完服务端证书后发送??
Belmode   
别客气。
不是很清楚~
suzhenyu   
@Belmode 哈哈哈,这人太坏了,还配合上这个头像。
goodman111   
为父找到此 link
https://www.cloudflare.com/learning/access-management/what-is-mutual-authentication/
ThirdFlame   
客户端将发送的信息 算哈希。 将哈希用客户端自己的私钥加密。发送给服务端。
服务端用客户的公钥解密,得到哈希。 并那这个哈希和客户端发送来的信息哈希比较,如果一致就说明这个信息时客户端发来的,并且没有被篡改。
busier   
服务端会获取客户端证书的信息 诸如 CN 等等。
你可以拿 phpinfo()测试一下,好像是在 SERVER[ ]里面
利用这个特性可以实现证书登陆验证
FaiChou   
这篇讲的很详细,可以参考下
http://www.884358.com/https-auth/
tool2d   
没你想那么复杂。
做微信支付的时候,官方 API 要求 SSL 请求必须带客户端证书,好知道你是谁。客户端证书就仅仅是校验用户身份的作用,和你用证书来登录远程 SSH 一样,没啥区别。
内容加密还是走老一套 TLS 。
gps949   
https://datatracker.ietf.org/doc/html/rfc8446
lxh1983   
孩子你可以抓包看交互的过程
您需要登录后才可以回帖 登录 | 立即注册

返回顶部