HEX
Server: nginx/1.30.4
System: Linux d-twindigital-web-1.host-ed.eu 4.18.0-553.141.2.el8_10.x86_64 #1 SMP Wed Jul 8 10:28:18 EDT 2026 x86_64
User: u_twindigital_html (1009)
PHP: 8.3.30
Disabled: NONE
Upload Files
File: //usr/lib/python3.6/site-packages/ndg/httpsclient/__pycache__/ssl_context_util.cpython-36.pyc
3

��Z�
�@s�dZdZdZdZdZdZdZddlZejdd	kr>ddl	j
ZnddlZdd
l
mZddlmZGdd
�d
e�Zddd�Zddddddejdfdd�Zddd�ZdS)zundg_httpsclient SSL Context utilities module containing convenience routines
for setting SSL context configuration.

zP J Kershaw (STFC)z09/12/11z2(C) 2012 Science and Technology Facilities Councilz-BSD - see LICENSE file in top-level directoryzPhilip.Kershaw@stfc.ac.ukz$Id$�N�)�SSL)�ServerSSLCertVerificationc@seZdZdZddd�ZdS)�SSlContextConfigz�
    Holds configuration options for creating a SSL context. This is used as a
    template to create the contexts with specific verification callbacks.
    NFcCs"||_||_||_||_||_dS)N)�key_file�	cert_file�pem_file�ca_dir�verify_peer)�selfrrrr	r
�r�&/usr/lib/python3.6/ssl_context_util.py�__init__s
zSSlContextConfig.__init__)NNNNF)�__name__�
__module__�__qualname__�__doc__rrrrr
rsrFcCst|j|j|j|j|j|�S)N)�make_ssl_contextrrrr	r
)Z
ssl_config�urlrrr
�make_ssl_context_from_config%s
rcs�tj|�}|r|j|��r2�fdd�}	|j|	�|rB|j|�n|rP|j|�|sX|rf|j||�n|j�dd�}
|
}|r�|jd�|r�t||�q�|j	tj
|�n|j	tj|�|S)zL
    Creates SSL context containing certificate and key file locations.
    cs�S)Nr)Zmax_passphrase_lenZ
set_promptZuserdata)�key_file_passphraserr
�<lambda>8sz"make_ssl_context.<locals>.<lambda>cSs|S)zrDefault certification verification callback.
        Performs no checks and returns the status passed in.
        r)ZconnZx509ZerrnumZerrdepthZpreverify_okrrr
�	_callbackFsz#make_ssl_context.<locals>._callback�	)rZContextZuse_certificate_fileZ
set_passwd_cbZuse_privatekey_fileZload_verify_locationsZset_default_verify_pathsZset_verify_depth�&set_peer_verification_for_url_hostname�
set_verify�VERIFY_PEERZVERIFY_NONE)rrrr	r
r�methodr�ssl_contextZ	passwd_cbrZverify_callbackr)rr
r+s,




rcCsH|s|j�tj@rDtj|�}|j}t|d�}|j�}|jtj|�dS)zbConvenience routine to set peer verification callback based on
    ServerSSLCertVerification class)�hostnameN)	Zget_verify_moderr�	urlparse_�urlparserrZget_verify_server_cert_funcr)rrZif_verify_enabledZurlObjrZserver_ssl_cert_verifZverify_callback_rrr
rZs

r)FN)F)r�
__author__Z__date__Z
__copyright__Z__license__Z__contact__Z__revision__�sys�version_infoZurllib.parse�parser r!ZOpenSSLrZ%ndg.httpsclient.ssl_peer_verificationr�objectrrZTLSv1_2_METHODrrrrrr
�<module>s$
.