1# 2# This file is part of pyasn1-modules software. 3# 4# Created by Russ Housley 5# Copyright (c) 2019, Vigil Security, LLC 6# License: http://snmplabs.com/pyasn1/license.html 7# 8 9import sys 10 11from pyasn1.codec.der.decoder import decode as der_decode 12from pyasn1.codec.der.encoder import encode as der_encode 13 14from pyasn1_modules import pem 15from pyasn1_modules import rfc5915 16from pyasn1_modules import rfc5480 17 18try: 19 import unittest2 as unittest 20except ImportError: 21 import unittest 22 23 24class MUDCertTestCase(unittest.TestCase): 25 private_key_pem_text = """\ 26MIGkAgEBBDDLjzGbbLrR3T13lrrVum7WC/4Ua4Femc1RhhNVe1Q5XsArQ33kn9kx 273lOUfOcG+qagBwYFK4EEACKhZANiAAT4zZ8HL+xEDpXWkoWp5xFMTz4u4Ae1nF6z 28XCYlmsEGD5vPu5hl9hDEjd1UHRgJIPoy3fJcWWeZ8FHCirICtuMgFisNscG/aTwK 29yDYOFDuqz/C2jyEwqgWCRyxyohuJXtk= 30""" 31 32 def setUp(self): 33 self.asn1Spec = rfc5915.ECPrivateKey() 34 35 def testDerCodec(self): 36 substrate = pem.readBase64fromText(self.private_key_pem_text) 37 asn1Object, rest = der_decode(substrate, asn1Spec=self.asn1Spec) 38 assert not rest 39 assert asn1Object.prettyPrint() 40 assert der_encode(asn1Object) == substrate 41 42 assert asn1Object['parameters']['namedCurve'] == rfc5480.secp384r1 43 44 45suite = unittest.TestLoader().loadTestsFromModule(sys.modules[__name__]) 46 47if __name__ == '__main__': 48 import sys 49 50 result = unittest.TextTestRunner(verbosity=2).run(suite) 51 sys.exit(not result.wasSuccessful()) 52