@@ -528,29 +528,44 @@ def test_get_default_verify_paths(self):
528528 self .assertEqual (paths .cafile , CERTFILE )
529529 self .assertEqual (paths .capath , CAPATH )
530530
531-
532531 @unittest .skipUnless (sys .platform == "win32" , "Windows specific" )
533- def test_enum_cert_store (self ):
534- self .assertEqual (ssl .X509_ASN_ENCODING , 1 )
535- self .assertEqual (ssl .PKCS_7_ASN_ENCODING , 0x00010000 )
536-
537- self .assertEqual (ssl .enum_cert_store ("CA" ),
538- ssl .enum_cert_store ("CA" , "certificate" ))
539- ssl .enum_cert_store ("CA" , "crl" )
540- self .assertEqual (ssl .enum_cert_store ("ROOT" ),
541- ssl .enum_cert_store ("ROOT" , "certificate" ))
542- ssl .enum_cert_store ("ROOT" , "crl" )
543-
544- self .assertRaises (TypeError , ssl .enum_cert_store )
545- self .assertRaises (WindowsError , ssl .enum_cert_store , "" )
546- self .assertRaises (ValueError , ssl .enum_cert_store , "CA" , "wrong" )
547-
548- ca = ssl .enum_cert_store ("CA" )
532+ def test_enum_certificates (self ):
533+ self .assertTrue (ssl .enum_certificates ("CA" ))
534+ self .assertTrue (ssl .enum_certificates ("ROOT" ))
535+
536+ self .assertRaises (TypeError , ssl .enum_certificates )
537+ self .assertRaises (WindowsError , ssl .enum_certificates , "" )
538+
539+ names = set ()
540+ ca = ssl .enum_certificates ("CA" )
549541 self .assertIsInstance (ca , list )
550- self .assertIsInstance (ca [0 ], tuple )
551- self .assertEqual (len (ca [0 ]), 2 )
552- self .assertIsInstance (ca [0 ][0 ], bytes )
553- self .assertIsInstance (ca [0 ][1 ], int )
542+ for element in ca :
543+ self .assertIsInstance (element , tuple )
544+ self .assertEqual (len (element ), 3 )
545+ cert , enc , trust = element
546+ self .assertIsInstance (cert , bytes )
547+ self .assertIn (enc , {"x509_asn" , "pkcs_7_asn" })
548+ self .assertIsInstance (trust , (set , bool ))
549+ if isinstance (trust , set ):
550+ names .update (trust )
551+
552+ serverAuth = "1.3.6.1.5.5.7.3.1"
553+ self .assertIn (serverAuth , names )
554+
555+ @unittest .skipUnless (sys .platform == "win32" , "Windows specific" )
556+ def test_enum_crls (self ):
557+ self .assertTrue (ssl .enum_crls ("CA" ))
558+ self .assertRaises (TypeError , ssl .enum_crls )
559+ self .assertRaises (WindowsError , ssl .enum_crls , "" )
560+
561+ crls = ssl .enum_crls ("CA" )
562+ self .assertIsInstance (crls , list )
563+ for element in crls :
564+ self .assertIsInstance (element , tuple )
565+ self .assertEqual (len (element ), 2 )
566+ self .assertIsInstance (element [0 ], bytes )
567+ self .assertIn (element [1 ], {"x509_asn" , "pkcs_7_asn" })
568+
554569
555570 def test_asn1object (self ):
556571 expected = (129 , 'serverAuth' , 'TLS Web Server Authentication' ,
0 commit comments