带签名的软件包
带签名的软件包是一种具有数字签名(下面定义的 PEM 编码 PKCS7 数字签名)的标准流格式软件包,该签名用于验证:
-
软件包是否来自对其进行签名的实体
-
软件包是否的确由该实体签名
-
软件包是否在该实体对其签名之后未进行修改
-
对软件包进行签名的实体是否为受信任实体
除了签名,带签名的软件包与不带签名的软件包完全相同。带签名的软件包与不带签名的软件包二进制兼容。因此,带签名的软件包可用于打包工具的旧版本。但是,在这种情况下签名会被忽略。
带签名的打包技术引入了一些新的术语和缩写,下表中介绍了这些内容。
术语
|
定义
|
ASN.1
|
抽象语法表示法 1-一种表示抽象对象的方法。例如,ASN.1 定义公钥证书、组成证书的所有对象以及对象的收集顺序。不过,ASN.1 不指定针对存储或传输序列化对象的方式。
|
X.509
|
ITU-T 推荐标准 X.509-指定广泛采用的 X.509 公钥证书语法。
|
DER
|
唯一编码规则-ASN.1 对象的一种二进制表示法,用于定义在计算环境中针对存储或传输序列化 ASN.1 对象的方式。
|
PEM
|
保密性增强消息-一种使用 base 64 编码和某些可选标头对文件进行编码(采用 DER 或其他二进制格式)的方式。PEM 最初用于对 MIME 类型的电子邮件进行编码。PEM 还广泛用于将证书和私钥编码到文件系统或电子邮件中存在的文件中。
|
PKCS7
|
公钥密码学标准 #7-此标准描述可能应用了加密算法的数据的通用语法,例如数字签名和数字信封。带签名的软件包包含一个嵌入的 PKCS7 签名。此签名至少包含软件包的加密摘要,以及签名者的 X.509 公钥证书。带签名的软件包还可能包含链证书。当形成从签名者的证书到本地存储的受信任证书的信任链时可以使用链证书。
|
PKCS12
|
公钥密码学标准 #12-此标准描述将加密对象存储在磁盘上的语法。软件包密钥库会以这种格式进行维护。
|
软件包密钥库
|
可通过软件包工具查询的证书和密钥的系统信息库。
|