]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Issue #17134: check certs of CA and ROOT system store
authorChristian Heimes <christian@cheimes.de>
Fri, 22 Nov 2013 15:13:55 +0000 (16:13 +0100)
committerChristian Heimes <christian@cheimes.de>
Fri, 22 Nov 2013 15:13:55 +0000 (16:13 +0100)
Lib/test/test_ssl.py

index 4ebc4b0fa9cc2162b5b3763e5be23890a6c62ce9..10d25e9bd1a3cf8c0f8cef423c189974ad66b792 100644 (file)
@@ -536,21 +536,22 @@ class BasicSocketTests(unittest.TestCase):
         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):