changeset 87343:de65df13ed50

Issue #17134: check certs of CA and ROOT system store
author Christian Heimes <christian@cheimes.de>
date Fri, 22 Nov 2013 16:13:55 +0100
parents d71251d9fbbe
children 7d914d4b05fe
files Lib/test/test_ssl.py
diffstat 1 files changed, 14 insertions(+), 13 deletions(-) [+]
line wrap: on
line diff
--- a/Lib/test/test_ssl.py	Sat Nov 23 00:57:00 2013 +1000
+++ b/Lib/test/test_ssl.py	Fri Nov 22 16:13:55 2013 +0100
@@ -536,21 +536,22 @@
         self.assertRaises(TypeError, ssl.enum_certificates)
         self.assertRaises(WindowsError, ssl.enum_certificates, "")
 
-        names = set()
-        ca = ssl.enum_certificates("CA")
-        self.assertIsInstance(ca, list)
-        for element in ca:
-            self.assertIsInstance(element, tuple)
-            self.assertEqual(len(element), 3)
-            cert, enc, trust = element
-            self.assertIsInstance(cert, bytes)
-            self.assertIn(enc, {"x509_asn", "pkcs_7_asn"})
-            self.assertIsInstance(trust, (set, bool))
-            if isinstance(trust, set):
-                names.update(trust)
+        trust_oids = set()
+        for storename in ("CA", "ROOT"):
+            store = ssl.enum_certificates(storename)
+            self.assertIsInstance(store, list)
+            for element in store:
+                self.assertIsInstance(element, tuple)
+                self.assertEqual(len(element), 3)
+                cert, enc, trust = element
+                self.assertIsInstance(cert, bytes)
+                self.assertIn(enc, {"x509_asn", "pkcs_7_asn"})
+                self.assertIsInstance(trust, (set, bool))
+                if isinstance(trust, set):
+                    trust_oids.update(trust)
 
         serverAuth = "1.3.6.1.5.5.7.3.1"
-        self.assertIn(serverAuth, names)
+        self.assertIn(serverAuth, trust_oids)
 
     @unittest.skipUnless(sys.platform == "win32", "Windows specific")
     def test_enum_crls(self):