我想使用 PKCS#7 作为一些加密、签名内容的容器格式,我们需要在 CBC 模式下使用基于 ISO 10126 的填充的 AES。我似乎找不到对用于此组合的算法标识符的具体引用。我可以自己发明,但会失去与其他工具的互操作性。
Boris Terzic
问问题
1965 次
3 回答
4
不需要指定填充模式。这是真的,因为 PKCS#7(与许多其他加密容器一样)使用 ASN.1/BER 编码。由于 BER 编码包含填充纯文本内消息的确切长度,因此填充的实际值无关紧要。
于 2011-04-28T21:43:21.807 回答
1
事实证明,填充模式不需要指定,只有加密算法很重要。
于 2009-02-10T08:00:27.430 回答
1
我相信如果您使用 PKCS#7 作为您的格式,则填充被规定为“PKCS7”填充(n 个八位字节的值“n”,请参阅RFC 2315,第 10.3.2 节)。
AES/CBC 的算法标识符在例如RFC 3565中给出:
-- AES information object identifiers --
aes OBJECT IDENTIFIER ::= { joint-iso-itu-t(2) country(16) us(840)
organization(1) gov(101) csor(3)_ nistAlgorithms(4) 1 }
-- AES using CBC-chaining mode for key sizes of 128, 192, 256
id-aes128-CBC OBJECT IDENTIFIER ::= { aes 2 }
id-aes192-CBC OBJECT IDENTIFIER ::= { aes 22 }
id-aes256-CBC OBJECT IDENTIFIER ::= { aes 42 }
因此,例如 CBC 模式下 128 位 AES 的 OID 是 2.16.840.1.101.3.4.1.2
从技术上讲,这些是针对CMS的,本质上是更新的 PKCS#7。
于 2011-09-14T16:04:56.140 回答