
    &`e	              	           d dl Z d dlZd dlZd dlZd dlZg dZ ej        d          Ze j        dej	        dej
        d         fd            ZdedefdZ	 dd	ej	        d
ee         dedz  ddfdZdS )    N)z/etc/ssl/cert.pemz/etc/pki/tls/cert.pemz"/etc/ssl/certs/ca-certificates.crtz/etc/ssl/ca-bundle.pemz^[0-9a-fA-F]{8}\.[0-9]$ctxreturnc              #   (  K   t          j                    }|j        s|j        r)t	          |j                  r|                                  nAt          D ]9}t          j        	                    |          r| 
                    |            n:d V  d S )N)cafile)sslget_default_verify_pathsr   capath_capath_contains_certsset_default_verify_paths_CA_FILE_CANDIDATESospathisfileload_verify_locations)r   defaultsr   s      3lib/python3.11/site-packages/truststore/_openssl.py_configure_contextr      s       +--H 	8? 	/Eho/V/V 	$$&&&&
 * 	 	Fw~~f%% )))888 
EEEEE    r	   c                     t           j                            |           sdS t          j        |           D ]}t                              |          r dS  dS )zFCheck whether capath exists and contains certs in the expected format.FT)r   r   isdirlistdir_HASHED_CERT_FILENAME_REmatch)r	   names     r   r
   r
   1   s]    7==   u
6""  #))$// 	44	5r   ssl_context
cert_chainserver_hostnamec                     d S N )r   r   r   s      r   _verify_peercerts_implr!   ;   s	     	Dr   r   )
contextlibr   rer   typingr   compiler   contextmanager
SSLContextIteratorr   strboolr
   listbytesr!   r    r   r   <module>r-      s       				 				 



 	 	 	  &2:&@AA  
CN 
vt/D 
 
 
 
43 4     #'	 		U	 4Z	 
		 	 	 	 	 	r   