diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test_rfc2986.py | 34 |
1 files changed, 18 insertions, 16 deletions
diff --git a/tests/test_rfc2986.py b/tests/test_rfc2986.py index 77ba061..17d5daa 100644 --- a/tests/test_rfc2986.py +++ b/tests/test_rfc2986.py @@ -14,6 +14,7 @@ from pyasn1.type import univ from pyasn1_modules import pem from pyasn1_modules import rfc2986 +from pyasn1_modules import rfc5280 try: @@ -56,32 +57,33 @@ fi6h7i9VVAZpslaKFfkNg12gLbbsCB1q36l5VXjHY/qe0FIUa9ogRrOi assert der_encoder.encode(asn1Object) == substrate def testOpenTypes(self): + algorithmIdentifierMapUpdate = { + univ.ObjectIdentifier('1.2.840.113549.1.1.1'): univ.Null(""), + univ.ObjectIdentifier('1.2.840.113549.1.1.5'): univ.Null(""), + univ.ObjectIdentifier('1.2.840.113549.1.1.11'): univ.Null(""), + } - id_at_commonName = (2, 5, 4, 3) - id_at_countryName = (2, 5, 4, 6) - + rfc5280.algorithmIdentifierMap.update(algorithmIdentifierMapUpdate) substrate = pem.readBase64fromText(self.pem_text) - - rfc2986.certificateAttributesMap.update( - { - id_at_countryName: char.PrintableString() - } - ) - asn1Object, rest = der_decoder.decode(substrate, asn1Spec=rfc2986.CertificationRequest(), decodeOpenTypes=True) - assert not rest assert asn1Object.prettyPrint() assert der_encoder.encode(asn1Object) == substrate for rdn in asn1Object['certificationRequestInfo']['subject']['rdnSequence']: - if rdn[0]['type'] == id_at_countryName: - assert rdn[0]['value'] == char.PrintableString('US') - elif rdn[0]['type'] == id_at_commonName: - assert rdn[0]['value'] == univ.OctetString( - hexValue='0c146663752e66616b652e616464726573732e6f7267') + for atv in rdn: + if atv['type'] == rfc5280.id_at_countryName: + assert atv['value'] == char.PrintableString('US') + else: + assert len(atv['value']['utf8String']) > 2 + + spki_alg = asn1Object['certificationRequestInfo']['subjectPKInfo']['algorithm'] + assert spki_alg['parameters'] == univ.Null("") + + sig_alg = asn1Object['signatureAlgorithm'] + assert sig_alg['parameters'] == univ.Null("") suite = unittest.TestLoader().loadTestsFromModule(sys.modules[__name__]) |