@@ -122,6 +122,7 @@ class RSAPrivateKey(ASN1_Packet):
122122####################################
123123# From X9.42 (or RFC3279)
124124
125+
125126class ValidationParms (ASN1_Packet ):
126127 ASN1_codec = ASN1_Codecs .BER
127128 ASN1_root = ASN1F_SEQUENCE (
@@ -1184,14 +1185,17 @@ class X509_CRL(ASN1_Packet):
11841185
11851186# RFC3852 sect 5.2
11861187
1188+ # Other layers should store the structures that can be encapsulated
1189+ # by CMS here, referred by their OIDs.
11871190_CMS_ENCAPSULATED = {}
11881191
1192+
11891193class _EncapsulatedContent_Field (ASN1F_STRING_PacketField ):
11901194 def m2i (self , pkt , s ):
11911195 val = super (_EncapsulatedContent_Field , self ).m2i (pkt , s )
11921196 if not val [0 ].val :
11931197 return val
1194-
1198+
11951199 # Get encapsulated value from its type
11961200 if pkt .eContentType .val in _CMS_ENCAPSULATED :
11971201 return (
@@ -1217,7 +1221,8 @@ class CMS_EncapsulatedContentInfo(ASN1_Packet):
12171221
12181222class CMS_RevocationInfoChoice (ASN1_Packet ):
12191223 ASN1_codec = ASN1_Codecs .BER
1220- ASN1_root = ASN1F_CHOICE ("crl" , None ,
1224+ ASN1_root = ASN1F_CHOICE (
1225+ "crl" , None ,
12211226 ASN1F_PACKET ("crl" , X509_CRL (), X509_Cert ),
12221227 # -- TODO: 1
12231228 )
@@ -1227,11 +1232,13 @@ class CMS_RevocationInfoChoice(ASN1_Packet):
12271232
12281233class CMS_CertificateChoices (ASN1_Packet ):
12291234 ASN1_codec = ASN1_Codecs .BER
1230- ASN1_root = ASN1F_CHOICE ("certificate" , None ,
1235+ ASN1_root = ASN1F_CHOICE (
1236+ "certificate" , None ,
12311237 ASN1F_PACKET ("certificate" , X509_Cert (), X509_Cert ),
12321238 # -- TODO: 0, 1, 2
12331239 )
12341240
1241+
12351242# RFC3852 sect 10.2.4
12361243
12371244class CMS_IssuerAndSerialNumber (ASN1_Packet ):
@@ -1244,9 +1251,6 @@ class CMS_IssuerAndSerialNumber(ASN1_Packet):
12441251
12451252# RFC3852 sect 5.3
12461253
1247- CMS_SignerIdentifier = lambda name : ASN1F_CHOICE (name , None ,
1248- CMSVersion ("version" , 1 ),
1249- )
12501254
12511255class CMS_Attribute (ASN1_Packet ):
12521256 ASN1_codec = ASN1_Codecs .BER
@@ -1261,7 +1265,8 @@ class CMS_SignerInfo(ASN1_Packet):
12611265 ASN1_root = ASN1F_SEQUENCE (
12621266 CMSVersion ("version" , 1 ),
12631267 ASN1F_PACKET ("sid" , CMS_IssuerAndSerialNumber (), CMS_IssuerAndSerialNumber ),
1264- ASN1F_PACKET ("digestAlgorithm" , X509_AlgorithmIdentifier (), X509_AlgorithmIdentifier ),
1268+ ASN1F_PACKET ("digestAlgorithm" , X509_AlgorithmIdentifier (),
1269+ X509_AlgorithmIdentifier ),
12651270 ASN1F_optional (
12661271 ASN1F_SET_OF (
12671272 "signedAttrs" ,
@@ -1270,7 +1275,8 @@ class CMS_SignerInfo(ASN1_Packet):
12701275 implicit_tag = 0xA0 ,
12711276 )
12721277 ),
1273- ASN1F_PACKET ("signatureAlgorithm" , X509_AlgorithmIdentifier (), X509_AlgorithmIdentifier ),
1278+ ASN1F_PACKET ("signatureAlgorithm" , X509_AlgorithmIdentifier (),
1279+ X509_AlgorithmIdentifier ),
12741280 ASN1F_STRING ("signature" , ASN1_UTF8_STRING ("" )),
12751281 ASN1F_optional (
12761282 ASN1F_SET_OF (
@@ -1317,6 +1323,7 @@ class CMS_SignedData(ASN1_Packet):
13171323
13181324# RFC3852 sect 3
13191325
1326+
13201327class CMS_ContentInfo (ASN1_Packet ):
13211328 ASN1_codec = ASN1_Codecs .BER
13221329 ASN1_root = ASN1F_SEQUENCE (
0 commit comments