首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >TLS双向认证

TLS双向认证
EN

Stack Overflow用户
提问于 2012-07-16 16:13:31
回答 1查看 2.9K关注 0票数 1

下面的信息显示了我的ssl连接到我的一台ldap服务器的wire shark日志。在此客户端中,证书长度为零。请让我知道这是什么意思。是因为缺少客户端身份验证吗?对于相互身份验证,是否必须包含客户端证书?

代码语言:javascript
运行
复制
329 SSLv2   Client Hello
332 TLSv1   Server Hello, Certificate, Certificate Request, Server Hello Done
334 TLSv1   Certificate, Client Key Exchange
336 TLSv1   Change Cipher Spec, Encrypted Handshake Message
337 TLSv1   Change Cipher Spec, Encrypted Handshake Message

在帧332中示出了完整的证书信息,并且334示出了证书长度: 0。在帧334中,客户端密钥交换包含足够的信息来传递预主秘密。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-16 17:52:23

Certificate Request消息表示服务器请求了客户端证书(强制或非强制)。

客户端在响应中发送的空Certificate消息意味着客户端没有找到合适的客户端证书来使用(或者选择不使用它)。

服务器是否希望继续此连接取决于其配置。客户端证书身份验证可以是可选的。

此行为在TLS规范中进行了描述

仅当服务器请求证书时才发送此消息。如果没有合适的证书可用,客户端必须发送不包含证书的证书消息。也就是说,certificate_list结构的长度为零。如果客户端不发送任何证书,服务器可以自行决定继续握手而不进行客户端身份验证,或者以致命的handshake_failure警报进行响应。

(这来自TLS1.2规范,在TLS1.1及更低版本中,它只是...应发送证书消息...) 1:https://www.rfc-editor.org/rfc/rfc5246#section-7.4.6

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11500402

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档