数字签名(防止篡改数据)
加密过程
- 使用md5等算法计算data的abstract
- 使用非对称加密算法,配合private-key加密abstract,得到签名。
解密过程
- 使用md5等算法计算data的abstract。
- 使用非对称加密算法,配合public-key解密得到abstract。
- 对比两者是否一致。
数字证书(防止中间人)
- 申请CA证书,CA机构将web server的证书内容(域名,公钥等)生成hash值,使用自己的private-key 对hash加密,得到证书签名,进而生成一张完整的证书
- webserver将证书发送给browser,浏览器检验证书本身是否有效(与数字签名检查一致),检验证书内容是否与网站符合。
- 通过之后,client生成一个对称密钥,并且将这个使用public-key 加密后发送给webserver,这样所有通信都是基于这个对称密钥进行。