摘要:服务器发回客户端的数据线先用某方法哈希,得到简短的摘要。此方法会告知客户端,用于客户端自己生成摘要。
数字签名:服务器用自己的私钥加密摘要。
数字证书:CA用自己的私钥加密数字签名、服务器的公钥和要传输的数据,防止客户端使用的公钥被替换。
CA的公钥由服务器发回的数字证书的CA名称去下载,但是若此CA不在客户端(浏览器)的受信任CA列表中,则拒绝。
客户端发给服务器的数据需要加密。但服务器发给客户端的数据没有加密,是明文,任何人都可读。但客户端需要能确认该明文的来源和它的内容是否在传输过程中被篡改。
若服务器的公钥可解开数字签名,则证明此签名一定来自目标服务器,因为只有他自己拥有私钥。
数字签名解密出的摘要是不可能被修改的,所以将此摘要与客户端自己对明文做的摘要相对比,则可以确定明文是否被修改。
http://www.ruanyifeng.com/blog/2011/08/what_is_a_digital_signature.html