我使用的是一个供应商库,它对生成PKCS#7消息的文本进行签名。我不确定这条消息的内容。
pkcs#7消息必须包含已签名的消息、证书和有效负载吗?它必须从----BEGIN PKCS7----开始,以----END PKCS7----结束吗?
发布于 2015-09-29 22:38:35
PKCS#7消息是由加密消息语法或CMS的规则构造的消息。CMS是/由PKCS#7加密标准指定的,但它现在由RFC管理。CMS是一种容器格式,这意味着它可能包含加密数据、身份验证数据或签名数据。该结构是自描述的,还可能包含证书。
PKCS#7消息不必包含已签名的消息,因为它可能是所谓的独立签名或外部签名。CMS RFC包含以下内容:
eContent在EncapsulatedContentInfo字段中的可选省略使得构建“外部签名”成为可能。在外部签名的情况下,在签名数据内容类型中包含的EncapsulatedContentInfo值中没有正在签名的内容。如果eContent值在EncapsulatedContentInfo中不存在,则计算signatureValue,并将eContentType赋值,就好像存在eContent值一样。
CMS是使用ASN.1 (一种数据描述语言)指定的。它使用二进制编码进行编码:一般使用BER,在需要规范化的情况下使用DER。因此CMS本身是二进制编码的。
但是,有时需要文本而不是二进制的应用程序使用CMS。因此CMS可以使用PEM格式"ASCII装甲“:一个描述性页眉、一些可选参数字段和一个页脚。二进制CMS消息只是简单地在标头(+ params)和页脚之间进行64基编码和沙转换。
https://crypto.stackexchange.com/questions/29470
复制相似问题