Your IP : 216.73.217.129


Current Path : /opt/alt/python37/lib64/python3.7/Tools/scripts/__pycache__/
Upload File :
Current File : //opt/alt/python37/lib64/python3.7/Tools/scripts/__pycache__/get-remote-certificate.cpython-37.pyc

B

� f+	�@s�ddlZddlZddlZddlZdd�Zedkr�eej�dkr^ej�	dejd�e�
d�x<ejdd�D]*Ze�d�\Z
Zejj�	ee
ee���qnWe�
d�dS)	�Ncspdd��d
�fdd�	}dddd||fd	g}�|�\}}|d
krPtd||f��||�}|sltd||f��|S)NcSsBddlm}m}m}m}|||||d�}|��}|j��}||fS)Nr)�Popen�PIPE�STDOUT�DEVNULL)�stdout�stderr�stdin)�
subprocessrrrr�waitr�read)�cmdrrrr�proc�status�output�r�I/opt/alt/python37/lib64/python3.7/Tools/scripts/get-remote-certificate.py�subprocs

z)fetch_server_certificate.<locals>.subprocc
	s�t�d|tjtjB�}|sdSt��}t|d�}|�|�d�d�|�	�zh|pXt��}ddd|d|g}�|�\}}|d	kr�t
d
||f��t|d�}|��}	|�	�t�
|�|	St�
|�XdS)NsC^([-]+BEGIN CERTIFICATE[-]+[\r]*\n.*[\r]*^[-]+END CERTIFICATE[-]+)$�wb��
�opensslZx509z-inz-outrz1OpenSSL x509 failed with status %s and output: %r�rb)�re�search�	MULTILINE�DOTALL�tempfileZmktemp�open�write�group�close�RuntimeErrorr�os�unlink)
Zcertfile_contentsZoutfile�mZtn�fpZtn2rrr�data)rrr�strip_to_x509_certs*


z4fetch_server_certificate.<locals>.strip_to_x509_certrZs_clientz-connectz%s:%sz
-showcertsrz4OpenSSL connect failed with status %s and output: %rz.Invalid response received from server at %s:%s)N)r!�
ValueError)�host�portr'rrrZcerttextr)rr�fetch_server_certificatesr+�__main__�z:Usage:  %s HOSTNAME:PORTNUMBER [, HOSTNAME:PORTNUMBER...]
r�:)rr"�sysrr+�__name__�len�argvrr�exit�arg�splitr)r*r�buffer�intrrrr�<module>	s0