1、客户端的浏览器向AD传送客户端SSL协议的版本号,加密算法的种类,产生的随机数,以及其他AD和客户端之间通讯所需要的各种信息 2、AD向客户端传送SSL协议的版本号,加密算法的种类,随机数以及其他相关信息,同时AD还将向客户端传送自己的证书 3、客户利用AD传过来的信息验证AD的合法性,AD的合法性包括:证书是否过期,发行AD证书的CA是否可靠,发行者证书的公钥能否正确解开AD证书的“发行者的数字签名”,AD证书上的域名是否和AD的实际域名相匹配。如果合法性验证没有通过,通讯将断开;如果合法性验证通过,将继续进行第四步 4、用户端随机产生一个用于后面通讯的“对称密码”,然后用AD的公钥(AD的公钥从步骤2中的AD的证书中获得)对其加密,然后将加密后的“预主密码”传给AD 5、用户建立一个随机数然后对其进行数据签名,将这个含有签名的随机数和用户自己的证书以及加密过的“预主密码”一起传给AD 6、AD检验用户证书和签名随机数的合法性,具体的合法性验证过程包括:用户的证书使用日期是否有效,为用户提供证书的CA是否可靠,发行CA的公钥能否正确解开用户证书的发行CA的数字签名,检查用户的证书是否在证书吊销列表(CRL)中。检验如果没有通过,通讯立刻中断;如果验证通过,AD将用自己的私钥解开加密的“预主密码”,然后执行一系列步骤来产生主通讯密码(客户端也将通过同样的方法产生相同的主通讯密码) 7、AD和客户端用相同的主密码即“通话密码”,一个对称密钥用于SSL协议的安全数据通讯的加解密通讯。同时在 SSL 通讯过程中还要完成数据通讯的完整性,防止数据通讯中的任何变化 8、客户端向AD发出信息,指明后面的数据通讯将使用的步骤7中的主密码为对称密钥,同时通知AD客户端的握手过程结束 9、AD向客户端发出信息,指明后面的数据通讯将使用的步骤7中的主密码为对称密钥,同时通知客户端AD的握手过程结束10、SSL的握手部分结束,SSL安全通道的数据通讯开始,客户端和AD开始使用相同的对称密钥进行数据通讯,同时进行通讯完整性的检验
|