代码数字签名验证(code signing verification),理学-计算机科学技术-信息安全-信息系统安全-软件安全-软件安全防御,一种对可执行文件、字节码或脚本进行数字签名,以保证该程序是由确定开发者提供,且在签名后没有被篡改的安全保障技术。操作系统为了确保软件的完整性和可信性,通常要求软件安装包和更新包使用代码签名。代码签名的基础是数字签名机制,其原理是:发送者利用数字摘要算法(如MD5、SHA等)对发送信息生成唯一的标识码,并利用私钥对其加密,生成签名附在信息之后;接收者收到信息后,利用公钥解密出标识码,并使用相同的摘要算法对其进行验证。如果接收者的系统上没有发送者的公钥,发送者需要将公钥以证书的形式附在信息之后。证书是由证书认证机构(certificate authority,CA)颁发的,包含发送者个人信息及公钥的数据。CA会用自身的私钥对其加密。因为接收者的系统已预装CA的公钥,从而可以解密发送者的个人信息及公钥,再进行签名验证。证书具有时效性,系统在验证时需要通过证书的时间戳判断其是否过期,并通过实时的召回列表判断其是否已被CA召回。