o
    ïT·jl	  ã                	   @   s˜   d dl Z d dlZd dlZd dlZd dlZg d¢Ze d¡Ze jdej	dej
d fdd„ƒZdedefd	d
„Z	ddej	dee dedB ddfdd„ZdS )é    N)z/etc/ssl/cert.pemz1/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.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                 c   sZ   � t  ¡ }|js|jrt|jƒr|  ¡  ntD ]}tj 	|¡r'| j
|d�  nq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   © r   úV/home/dinkstrade/pdmp-scanner/venv/lib/python3.10/site-packages/truststore/_openssl.pyÚ_configure_context   s   €
þ
r   r   c                 C   s4   t j | ¡sdS t  | ¡D ]
}t |¡r dS qdS )zFCheck whether capath exists and contains certs in the expected format.FT)r   r   ÚisdirÚlistdirÚ_HASHED_CERT_FILENAME_REÚmatch)r   Únamer   r   r   r   3   s   
ÿr   Ússl_contextÚ
cert_chainÚserver_hostnamec                 C   s   d S ©Nr   )r   r   r   r   r   r   Ú_verify_peercerts_impl=   s   r   r   )Ú
contextlibr   Úrer   Útypingr
   Úcompiler   ÚcontextmanagerÚ
SSLContextÚIteratorr   ÚstrÚboolr   ÚlistÚbytesr   r   r   r   r   Ú<module>   s(    
ýÿþýü