网站大量收购闲置独家精品文档,联系QQ:2885784924

SSL双向认证握手过程..doc

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SSL双向认证握手过程.

SSL双向认证握手过程 客户端的浏览器向服务器传送客户端 SSL 协议的版本号,加密算法的种类,产生的随机数,以及其他服务器和客户端之间通讯所需要的各种信息。 struct { ProtocolVersion client_version; // SSL协议版本号 Random random; // 客户端产生的随机数 SessionID session_id; // 会话标志符 CipherSuite cipher_suites0..216-1; // 客户端支持的加密算法套件 CompressionMethod compression_methods0..28 -1; // 客户端支持的数据压缩算法 } ClientHello; 服务器向客户端传送 SSL 协议的版本号,加密算法的种类,随机数以及其他相关信息,同时服务器还将向客户端传送自己的证书。 struct { ProtocolVersion server_version; // SSL协议版本号 Random random; // 服务器端产生的随机数 SessionID session_id; // 会话标志符 CipherSuite cipher_suite; // 服务器端所支持的加密算法套件 CompressionMethod compression_method; // 服务器端所支持的数据压缩算法 } ServerHello; opaque ASN.1Cert1..2 24 -1; struct { ASN.1Cert certificate_list1..224-1; // X509.3 证书链,在此,只有服务器端的证书。 } Certificate; 客户利用服务器传过来的信息验证服务器的合法性,服务器的合法性包括:证书是否过期,发行服务器证书的 CA 是否可靠,发行者证书的公钥能否正确解开服务器证书的“发行者的数字签名”,服务器证书上的域名是否和服务器的实际域名相匹配。如果合法性验证没有通过,通讯将断开;如果合法性验证通过,将继续进行第四步。 发行者证书的公钥能否正确解开服务器证书的“发行者的数字签名” ----- 用于验证证书中提供的公钥的可用性。(签名算法+公钥+密文) 用户端随机产生一个用于后面通讯的“对称密码”,然后用服务器的公钥(服务器的公钥从步骤②中的服务器的证书中获得)对其加密,然后将加密后的“预主密码”传给服务器。 enum { rsa, diffie_hellman, fortezza_dms } KeyExchangeAlgorithm; struct { opaque rsa_modulus1..216-1; opaque rsa_exponent1..216-1; } ServerRSAParams; 其中: rsa_modulus 服务器的临时的RSA密钥的模数。 rsa_exponent 服务器的临时的RSA密钥的公开指数。 struct { opaque dh_p1..216-1; opaque dh_g1..216-1; opaque dh_Y s 1..216-1; } ServerDHParams; /* 短期的DH参数 */ 其中: dh_p Diffie-Hellman操作中用到的质模数。 dh_g Diffie-Hellman操作中用到的发生器。 dh_Y 服务器的Diffie-Hellman公开值(gX mod p)。 struct { opaque r_s [128]; } ServerFortezzaParams; 其中: r_s 服务器为密钥交换算法而生成的随机数。 digitally-signed struct { select(SignatureAlgorithm) { case anonymous: struct { }; case rsa: opaque md5_hash[16]; opaque sha_hash[20]; case dsa: opaque sha_hash[20]; }; } Signature; struct { select (KeyExchangeAlgorithm) { case diffie_hellman: ServerDHParams params; Signature signed_params; case rsa: ServerRSAPar

文档评论(0)

gangshou + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档