跟大家分享一期关于代码签名证书的内容,因为相对于SSL证书,代码签名证书显得有些许陌生。但是讲之前,为了避免给大部分童鞋带来概念混乱的现象,我们先来讲讲代码签名、文档签名、数字签名和数字证书、SSL证书、代码签名证书之间的关系。
文档签名和代码签名都属于数字签名
数字签名,它是一种技术手段,使用范围非常广,在和互联网有关的大部分需要加密的文件中,都有数字签名的踪迹所在。数字签名技术可以应用到:
• 文件及档案
• 电子邮件
• 软件
各类采用数字签名技术用于校验的数字证书包括– SSL /TLS证书,S / MIME证书,代码和文档签名证书。
数字签名
数字签名不仅仅可以验证签名者的身份并保护文件免遭篡改,还可以对Web服务器和应用程序进行身份验证,用于保护公司电子邮件系统的安全等,有无数种使用的方法。
当我们要分发数据并且要向收件人保证数据确实来自我们自己时,就需要使用到数字签名,它是生成可以与数据捆绑在一起的数字签名字符串。数字签名是使用诸如RSA公钥密码之类的公钥签名算法创建的。
公钥算法实际上使用两个不同的密钥:公钥和私钥(称为密钥对)。私钥只有其所有者才知道,而公钥则对任何人都可用。对于公钥算法的设计,如果将一个密钥用于加密,则将另一个密钥用于解密。此外,不能从加密密钥合理地计算出解密密钥。
密钥是公钥算法的另一个特性。在实践中,公钥算法对于签署长文档通常效率太低。为了节省时间,数字签名协议使用Cryptographic Digest(加密摘要),它是对文档的摘要而不是文档本身进行签名。散列算法和数字签名算法都已预先约定。以下该过程的摘要:
① 发送报文