aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorRuss Housley <housley@vigilsec.com>2019-07-17 02:11:39 -0400
committerIlya Etingof <etingof@gmail.com>2019-07-17 08:11:39 +0200
commit06f5be85d5229cffeb24f9ae622df665d7ae506b (patch)
tree0d84dc3e62e1bb65c6ccf82c3f75ce7b79f61f1f /tests
parente391feaffc72dd8ba3f9d5ec3d7bb93ce425fc9b (diff)
downloadpyasn1-modules-06f5be85d5229cffeb24f9ae622df665d7ae506b.tar.gz
Add support for opentype for RFC 2986 (#52)
Diffstat (limited to 'tests')
-rw-r--r--tests/test_rfc2986.py34
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__])