diff options
Diffstat (limited to 'tests/test_rfc3565.py')
-rw-r--r-- | tests/test_rfc3565.py | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/tests/test_rfc3565.py b/tests/test_rfc3565.py index 99cb567..f69e392 100644 --- a/tests/test_rfc3565.py +++ b/tests/test_rfc3565.py @@ -11,6 +11,8 @@ 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 rfc3565 @@ -50,11 +52,20 @@ class AESCBCTestCase(unittest.TestCase): assert asn1Object[1].isValue assert der_encoder.encode(asn1Object) == substrate + def testOpenTypes(self): + substrate = pem.readBase64fromText(self.aes_alg_id_pem_text) + asn1Object, rest = der_decoder.decode(substrate, + asn1Spec=self.asn1Spec, + decodeOpenTypes=True) + assert not rest + assert asn1Object.prettyPrint() + assert asn1Object[0] == rfc3565.id_aes256_CBC + aes_iv = univ.OctetString(hexValue='108996ba850e3f0339993bb5878a0e37') + assert asn1Object[1] == aes_iv + assert der_encoder.encode(asn1Object) == substrate + suite = unittest.TestLoader().loadTestsFromModule(sys.modules[__name__]) if __name__ == '__main__': - import sys - - result = unittest.TextTestRunner(verbosity=2).run(suite) - sys.exit(not result.wasSuccessful()) + unittest.TextTestRunner(verbosity=2).run(suite) |