代码签名的基础是PKI安全体系。代码签名证书由签名证书私钥和公钥证书两部分组成。私钥用于代码的签名,公钥用于私钥签名的验证和证书持有者的身份识别。
1. 发布者从CA机构(如JoySSL)申请数字证书;
2. 发布者开发出代码;借助代码签名工具,发布者将使用MD5或SHA算法产生代码的哈希值,然后用代码签名证书私钥对该哈希值签名,从而产生一个包含代码签名和软件发布者的签名证书的软件包;
3. 用户的运行环境访问到该软件包,并检验软件发布者的代码签名数字证书的有效性。由于JoySSL根证书的公钥已经嵌入到用户的运行环境的可信根证书库,所以运行环境可验证发布者代码签名数字证书的真实性;
4. 用户的运行环境使用代码签名数字证书中含有的公钥解密被签名的哈希值;
5. 用户的运行环境使用同样的算法新产生一个原代码的哈希值;
6. 用户的运行环境比较两个哈希值。如果相同,将发出通知声明代码已验证通过。所以用户可以相信该代码确实由证书拥有者发布,并且未经篡改。
代码签名证书_代码签名证书申请购买-JoySSL代码签名证书是对可执行脚本、软件代码和内容进行数字签名的数字证书。代码签名证书用于验证开发者身份真实性、保护代码的完整性。用户下载软件时,能通过数字签名验证软件来源,确认软件、代码没有被非法篡改或植入病毒,保护用户不会被病毒、恶意代码和间谍软件所侵害。https://www.joyssl.com/certificate/select/code_signing.html?nid=7整个过程对用户完全透明,用户将可以看到软件发布者提示信息,并可以选择是否信任该软件发布者。在选择信任软件发布者之后,运行所有该软件发布者签名的程序时将可以不再收到提示信息。