Entry № 935
PKCS#7
PKCS#7 是什么?
PKCS#7用于打包签名和/或加密数据的二进制格式,IETF 在 RFC 5652 中将其标准化为加密消息语法(CMS)。
PKCS#7 最初由 RSA Laboratories 定义,描述了如何将任意数据封装在受密码学保护的结构中,包括 SignedData、EnvelopedData、EncryptedData、DigestedData 和 AuthenticatedData。IETF 在 RFC 5652 中以加密消息语法(CMS)的名义重新发布,并通过 RFC 8933(算法保护)等持续更新。CMS 使用 ASN.1/DER 编码,是 S/MIME(RFC 8551)、代码签名(Authenticode、Apple 公证)、时间戳(RFC 3161)、文档签名(PAdES)以及证书包格式的基础。分离签名(.p7s)和仅含证书的捆绑包(.p7b/.p7c)是常见用途。CMS 通过 RFC 8419(EdDSA)、5754(SHA-2)和 8769(AES-GCM)支持现代算法。
● 示例
- 01
S/MIME 签名邮件,其签名以分离的 .p7s SignedData 形式承载。
- 02
Windows Authenticode 签名的二进制文件在其 PE 头部嵌入一个 PKCS#7 SignedData 结构。
● 常见问题
PKCS#7 是什么?
用于打包签名和/或加密数据的二进制格式,IETF 在 RFC 5652 中将其标准化为加密消息语法(CMS)。 它属于网络安全的 密码学 分类。
PKCS#7 是什么意思?
用于打包签名和/或加密数据的二进制格式,IETF 在 RFC 5652 中将其标准化为加密消息语法(CMS)。
如何防御 PKCS#7?
针对 PKCS#7 的防御通常结合技术控制与运营实践,详见上方完整定义。
PKCS#7 还有哪些其他名称?
常见的别称包括: CMS, 加密消息语法, p7s, p7b。