aboutsummaryrefslogtreecommitdiffstats
path: root/tests/test_rfc5280.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_rfc5280.py')
-rw-r--r--tests/test_rfc5280.py81
1 files changed, 43 insertions, 38 deletions
diff --git a/tests/test_rfc5280.py b/tests/test_rfc5280.py
index 5abff3e..9802ef9 100644
--- a/tests/test_rfc5280.py
+++ b/tests/test_rfc5280.py
@@ -6,8 +6,8 @@
#
import sys
-from pyasn1.codec.der import decoder as der_decoder
-from pyasn1.codec.der import encoder as der_encoder
+from pyasn1.codec.der.decoder import decode as der_decode
+from pyasn1.codec.der.encoder import encode as der_encode
from pyasn1.type import univ
@@ -48,11 +48,11 @@ PhmcGcwTTYJBtYze4D1gCCAPRX5ron+jjBXu
substrate = pem.readBase64fromText(self.pem_text)
- asn1Object, rest = der_decoder.decode(substrate, asn1Spec=self.asn1Spec)
+ asn1Object, rest = der_decode(substrate, asn1Spec=self.asn1Spec)
assert not rest
assert asn1Object.prettyPrint()
- assert der_encoder.encode(asn1Object) == substrate
+ assert der_encode(asn1Object) == substrate
class CertificateListTestCase(unittest.TestCase):
@@ -74,11 +74,11 @@ vjnIhxTFoCb5vA==
substrate = pem.readBase64fromText(self.pem_text)
- asn1Object, rest = der_decoder.decode(substrate, asn1Spec=self.asn1Spec)
+ asn1Object, rest = der_decode(substrate, asn1Spec=self.asn1Spec)
assert not rest
assert asn1Object.prettyPrint()
- assert der_encoder.encode(asn1Object) == substrate
+ assert der_encode(asn1Object) == substrate
class CertificateOpenTypeTestCase(unittest.TestCase):
@@ -108,19 +108,25 @@ PhmcGcwTTYJBtYze4D1gCCAPRX5ron+jjBXu
substrate = pem.readBase64fromText(self.pem_text)
- algorithmIdentifierMapUpdate = {
+ openTypesMap = {
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(""),
}
- rfc5280.algorithmIdentifierMap.update(algorithmIdentifierMapUpdate)
-
- asn1Object, rest = der_decoder.decode(substrate,
- asn1Spec=self.asn1Spec, decodeOpenTypes=True)
+ asn1Object, rest = der_decode(substrate,
+ asn1Spec=self.asn1Spec,
+ openTypes=openTypesMap,
+ decodeOpenTypes=True)
assert not rest
assert asn1Object.prettyPrint()
- assert der_encoder.encode(asn1Object) == substrate
+ assert der_encode(asn1Object) == substrate
+
+ sig_alg = asn1Object['tbsCertificate']['signature']
+ assert sig_alg['parameters'] == univ.Null("")
+
+ spki_alg = asn1Object['tbsCertificate']['subjectPublicKeyInfo']['algorithm']
+ assert spki_alg['parameters'] == univ.Null("")
for rdn in asn1Object['tbsCertificate']['subject']['rdnSequence']:
for atv in rdn:
@@ -130,12 +136,6 @@ PhmcGcwTTYJBtYze4D1gCCAPRX5ron+jjBXu
atv_ps = str(atv['value']['printableString'])
assert "valicert" in atv_ps.lower()
- sig_alg = asn1Object['tbsCertificate']['signature']
- assert sig_alg['parameters'] == univ.Null("")
-
- spki_alg = asn1Object['tbsCertificate']['subjectPublicKeyInfo']['algorithm']
- assert spki_alg['parameters'] == univ.Null("")
-
class CertificateListOpenTypeTestCase(unittest.TestCase):
pem_text = """\
@@ -156,19 +156,22 @@ vjnIhxTFoCb5vA==
substrate = pem.readBase64fromText(self.pem_text)
- algorithmIdentifierMapUpdate = {
+ openTypesMap = {
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(""),
}
- rfc5280.algorithmIdentifierMap.update(algorithmIdentifierMapUpdate)
-
- asn1Object, rest = der_decoder.decode(substrate,
- asn1Spec=self.asn1Spec, decodeOpenTypes=True)
+ asn1Object, rest = der_decode(substrate,
+ asn1Spec=self.asn1Spec,
+ openTypes=openTypesMap,
+ decodeOpenTypes=True)
assert not rest
assert asn1Object.prettyPrint()
- assert der_encoder.encode(asn1Object) == substrate
+ assert der_encode(asn1Object) == substrate
+
+ sig_alg = asn1Object['tbsCertList']['signature']
+ assert sig_alg['parameters'] == univ.Null("")
for rdn in asn1Object['tbsCertList']['issuer']['rdnSequence']:
for atv in rdn:
@@ -179,30 +182,32 @@ vjnIhxTFoCb5vA==
else:
assert len(atv['value']['printableString']) > 9
+ crl_extn_count = 0
for extn in asn1Object['tbsCertList']['crlExtensions']:
if extn['extnID'] in rfc5280.certificateExtensionsMap.keys():
- ev, rest = der_decoder.decode(extn['extnValue'],
+ ev, rest = der_decode(extn['extnValue'],
asn1Spec=rfc5280.certificateExtensionsMap[extn['extnID']])
assert not rest
assert ev.prettyPrint()
- assert der_encoder.encode(ev) == extn['extnValue']
-
- sig_alg = asn1Object['tbsCertList']['signature']
- assert sig_alg['parameters'] == univ.Null("")
+ assert der_encode(ev) == extn['extnValue']
+ crl_extn_count += 1
+ assert crl_extn_count == 1
def testExtensionsMap(self):
substrate = pem.readBase64fromText(self.pem_text)
- asn1Object, rest = der_decoder.decode(substrate, asn1Spec=self.asn1Spec)
+ asn1Object, rest = der_decode(substrate, asn1Spec=self.asn1Spec)
assert not rest
assert asn1Object.prettyPrint()
- assert der_encoder.encode(asn1Object) == substrate
+ assert der_encode(asn1Object) == substrate
+ cert_extn_count = 0
for extn in asn1Object['tbsCertList']['crlExtensions']:
if extn['extnID'] in rfc5280.certificateExtensionsMap.keys():
- extnValue, rest = der_decoder.decode(extn['extnValue'],
+ extnValue, rest = der_decode(extn['extnValue'],
asn1Spec=rfc5280.certificateExtensionsMap[extn['extnID']])
- assert der_encoder.encode(extnValue) == extn['extnValue']
-
+ assert der_encode(extnValue) == extn['extnValue']
+ cert_extn_count += 1
+ assert cert_extn_count == 1
class ORAddressOpenTypeTestCase(unittest.TestCase):
oraddress_pem_text = """\
@@ -214,14 +219,14 @@ FDASgAEBoQ0TC1N0ZXZlIEtpbGxl
self.asn1Spec = rfc5280.ORAddress()
def testDecodeOpenTypes(self):
-
substrate = pem.readBase64fromText(self.oraddress_pem_text)
- asn1Object, rest = der_decoder.decode(substrate,
- asn1Spec=self.asn1Spec, decodeOpenTypes=True)
+ asn1Object, rest = der_decode(substrate,
+ asn1Spec=self.asn1Spec,
+ decodeOpenTypes=True)
assert not rest
assert asn1Object.prettyPrint()
- assert der_encoder.encode(asn1Object) == substrate
+ assert der_encode(asn1Object) == substrate
ea0 = asn1Object['extension-attributes'][0]
assert ea0['extension-attribute-type'] == rfc5280.common_name