openssl Tool SSL analyse.doc

应用 openssl 工具进行 SSL 故障分析 当前 SSL 协议有着广泛的运用,在 SSL 服务器的身份认证出现问题时,怎样才能有效快速的找出问题的根源呢?本文结合 openssl 提供的命令行工具 s_client,罗列了多种认证失败的情况,并给出了问题诊断的方法。 首先简单的介绍一下 SSL 协议建立连接的过程。如图 1 所示,主要有如下几个过程: 客户端发起请求,包含一个hello消息,并附上客户端支持的密码算法和 SSL 协议的版本消息以及用于生成密钥的随机数。 服务器收到消息后,服务器端选择加密压缩算法并生成服务器端的随机数,将该信息反馈给客户端;接着服务器端将自身的数字证书(在图 1 中使用了一个 X.509 数字证书)发送到客户端;完成上述动作后后服务器端会发送“hello done”消息给客户端。此外如果服务器需要对客户端进行身份认证,服务器端还会发送一个请求客户端证书的消息。 一旦客户端收到”hello done” , 就开始对服务器端的数字证书进行认证并检查服务器端选中的算法是可行的。如果服务器要求认证客户端身份,客户端还会发送自己的公钥证书。 如果对服务器的身份认证通过,客户端会发起密钥交换的请求。 服务器端和客户端根据先前协商的算法和交换随机数生成对称密钥进行后续的通信。 openssl 提供了 SSL 协议的一个开放源代码的实现,包含三部分:s

文档评论(0)

1亿VIP精品文档

相关文档