aboutsummaryrefslogtreecommitdiff
path: root/tests/test_rfc5958.py
diff options
context:
space:
mode:
authorRuss Housley <housley@vigilsec.com>2019-07-20 06:58:55 -0400
committerIlya Etingof <etingof@gmail.com>2019-07-20 12:58:55 +0200
commit23608be1bc0ce8a4ac5fbaba92af905c88ea4ab6 (patch)
tree67be142d26a66e2a874502f60c3e97d0059bd769 /tests/test_rfc5958.py
parent06f5be85d5229cffeb24f9ae622df665d7ae506b (diff)
downloadpyasn1-modules-23608be1bc0ce8a4ac5fbaba92af905c88ea4ab6.tar.gz
Added maps for use with openType (#53)
Diffstat (limited to 'tests/test_rfc5958.py')
-rw-r--r--tests/test_rfc5958.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/test_rfc5958.py b/tests/test_rfc5958.py
index 1abc40e..88fb4f1 100644
--- a/tests/test_rfc5958.py
+++ b/tests/test_rfc5958.py
@@ -11,7 +11,10 @@ import sys
from pyasn1.codec.der import decoder as der_decoder
from pyasn1.codec.der import encoder as der_encoder
+from pyasn1.type import univ
+
from pyasn1_modules import pem
+from pyasn1_modules import rfc5652
from pyasn1_modules import rfc5958
from pyasn1_modules import rfc8410
@@ -44,6 +47,33 @@ Z9w7lshQhqowtrbLDFw4rXAxZuE=
assert der_encoder.encode(asn1Object) == substrate
+class PrivateKeyOpenTypesTestCase(unittest.TestCase):
+ asymmetric_key_pkg_pem_text = """\
+MIGEBgpghkgBZQIBAk4FoHYwdDByAgEBMAUGAytlcAQiBCDU7nLb+RNYStW22PH3
+afitOv58KMvx1Pvgl6iPRHVYQqAfMB0GCiqGSIb3DQEJCRQxDwwNQ3VyZGxlIENo
+YWlyc4EhABm/RAlphM3+hUG6wWfcO5bIUIaqMLa2ywxcOK1wMWbh
+"""
+
+ def setUp(self):
+ self.asn1Spec = rfc5652.ContentInfo()
+
+ def testOpenTypes(self):
+ substrate = pem.readBase64fromText(self.asymmetric_key_pkg_pem_text)
+ rfc5652.cmsContentTypesMap.update(rfc5958.cmsContentTypesMapUpdate)
+ asn1Object, rest = der_decoder.decode(substrate,
+ asn1Spec=self.asn1Spec,
+ decodeOpenTypes=True)
+ assert not rest
+ assert asn1Object.prettyPrint()
+ assert der_encoder.encode(asn1Object) == substrate
+
+ assert rfc5958.id_ct_KP_aKeyPackage in rfc5652.cmsContentTypesMap.keys()
+ oneKey = asn1Object['content'][0]
+ assert oneKey['privateKeyAlgorithm']['algorithm'] == rfc8410.id_Ed25519
+ pkcs_9_at_friendlyName = univ.ObjectIdentifier('1.2.840.113549.1.9.9.20')
+ assert oneKey['attributes'][0]['type'] == pkcs_9_at_friendlyName
+
+
suite = unittest.TestLoader().loadTestsFromModule(sys.modules[__name__])
if __name__ == '__main__':