以下是 RFC 5280 定义 X.509 扩展字段的方式:
Extension ::= SEQUENCE {
extnID OBJECT IDENTIFIER,
critical BOOLEAN DEFAULT FALSE,
extnValue OCTET STRING
-- contains the DER encoding of an ASN.1 value
-- corresponding to the extension type identified
-- by extnID
}
当我使用 pyasn1 解码器时,我将获得一个可以进一步解码的对象,并使用适合foo
于.foo['extnValue'].asOctets()
foo['extnID']
问题:假设extnID
我的应用程序中有一个特殊的,是否可以在 pyasn1 中定义一个模式,(a)不接受任何 OBJECT IDENTIFIER,只接受特殊的;(b) 通过 OCTET STRING 包装器的步骤以根据适当的特殊“子模式”解码有效负载?
我可以通过代码中的特殊情况逻辑来做到这一点,但如果支持,我更愿意定义一个特殊情况模式。