数字证书:
证明软件开发商身份的一个东西,要向权威机构(他们的证书会嵌到电脑系统中)申请,申请时要有自己的身份证营业执照之类的,申请的证书有效期一年,一年到了会提示更新证书。
包括公钥,(私钥申请者的证书会有)证书拥有者信息
签名过程:
1. 发布者从CA机构(如VeriSign)申请
数字证书;
2. 发布者开发出代码;借助代码签名工具(vs和.net都有),发布者将使用MD5或SHA算法产生代码的
哈希值,然后用
代码签名证书私钥对该哈希值签名,从而产生一个新的hash值;
验证过程:
3. 用户的运行环境访问到该软件包,并检验软件发布者的代码签名
数字证书的有效性。由于VeriSign根证书的
公钥已经嵌入到用户的运行环境的可信根证书库,所以运行环境可验证发布者代码签名
数字证书的真实性;
5. 用户的运行环境使用同样的算法新产生一个原代码的
哈希值;
6. 用户的运行环境比较两个
哈希值。如果相同,将发出通知声明代码已验证通过。所以用户可以相信该代码确实由证书拥有者发布,并且未经篡改。
数字签名
原文:http://www.cnblogs.com/yiii/p/6106864.html