This PR rectifies two incorrect applications of the 'implicit tags' tagging default declared in the X.509 ASN.1 module (EDIT: the relevant definitions are also reproduced in RFC 5755).
Concretely, it updates the asn1crypto definitions of RoleSyntax and SecurityCategory. As stipulated in ITU-T Rec. X.680 § C.3.2.2 (g), the 'implicit tags' directive does not apply to choice types and open types, since that would make them impossible to decode reliably.
In fact, asn1crypto currently raises an exception when trying to encode a RoleSyntax value, for this exact reason.
All this PR does is change implicit to explicit in those two locations, and add a regression test.
This PR rectifies two incorrect applications of the 'implicit tags' tagging default declared in the X.509 ASN.1 module (EDIT: the relevant definitions are also reproduced in RFC 5755).
Concretely, it updates the
asn1crypto
definitions ofRoleSyntax
andSecurityCategory
. As stipulated in ITU-T Rec. X.680 § C.3.2.2 (g), the 'implicit tags' directive does not apply to choice types and open types, since that would make them impossible to decode reliably. In fact,asn1crypto
currently raises an exception when trying to encode aRoleSyntax
value, for this exact reason.All this PR does is change
implicit
toexplicit
in those two locations, and add a regression test.