X-Git-Url: http://wagner.pp.ru/gitweb/?a=blobdiff_plain;f=tests%2Ftestx509.py;h=a54417ba5733cb0e966f92bc7c196f8b624c2c0b;hb=7b9c29e43612629052e0ec875fd9ecbb35b0b02d;hp=011d487e770c78e9dee3d0d74f64cf3880e38ced;hpb=6ecf699650b17d6c8d8a8670d51b33631824fe46;p=oss%2Fctypescrypto.git diff --git a/tests/testx509.py b/tests/testx509.py index 011d487..a54417b 100644 --- a/tests/testx509.py +++ b/tests/testx509.py @@ -148,6 +148,40 @@ zVMSW4SOwg/H7ZMZ2cn6j1g0djIvruFQFGHUqFijyDATI+/GJYw2jxyA self.assertTrue(ca.check_ca()) notca=X509(self.cert1) self.assertFalse(notca.check_ca()) + def test_extension_count(self): + cert=X509(self.cert1) + self.assertTrue(len(cert.extensions),4) + ca_cert=X509(self.ca_cert) + self.assertEqual(len(ca_cert.extensions),3) + def test_extension_outofrange(self): + cert=X509(self.cert1) + with self.assertRaises(IndexError): + cert.extensions[4] + with self.assertRaises(IndexError): + cert.extensions[-1] + def test_extension_oid(self): + cert=X509(self.cert1) + ext=cert.extensions[0] + ext_id=ext.oid + self.assertTrue(isinstance(ext_id,Oid)) + self.assertEqual(ext_id,Oid('basicConstraints')) + def text_extension_text(self): + cert=X509(self.cert1) + ext=cert.extensions[0] + self.assertEqual(str(ext),'CA:FALSE') + def test_extenson_find(self): + cert=X509(self.cert1) + exts=cert.extensions.find(Oid('subjectAltName')) + self.assertEqual(len(exts),1) + self.assertEqual(exts[0].oid,Oid('subjectAltName')) + def test_extenson_critical(self): + cert=X509(self.digicert_cert) + crit_exts=cert.extensions.find_critical() + self.assertEqual(len(crit_exts),2) + other_exts=cert.extensions.find_critical(False) + self.assertEqual(len(crit_exts)+len(other_exts),len(cert.extensions)) + self.assertEqual(crit_exts[0].critical,True) + self.assertEqual(other_exts[0].critical,False) def test_verify_by_key(self): ca=X509(self.ca_cert) pubkey=ca.pubkey @@ -181,7 +215,6 @@ zVMSW4SOwg/H7ZMZ2cn6j1g0djIvruFQFGHUqFijyDATI+/GJYw2jxyA # signed by some commercial CA should be rejected too self.assertFalse(gitcert.verify(store)) trusted.close() - pass def test_verify_by_dirstore(self): pass if __name__ == '__main__':