mirror of https://github.com/python/cpython
Issue #17134: check certs of CA and ROOT system store
This commit is contained in:
parent
50c48b89e3
commit
c2d65e1e93
|
@ -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):
|
||||
|
|
Loading…
Reference in New Issue