o
    jU                     @   s:   d dl mZmZ d dlmZ d	ddZG dd deZdS )
    )cryptoSSL)LOG/tmp/impacket.crtc                 C   s   t  }|t jd t  }|d |d | }d|_|	| |
|d t| d"}|t t j|d |t t j|d W d    n1 sUw   Y  td|   d S )	Ni   r   if	impacketsha256wutf-8zWrote certificate to %s)r   PKeygenerate_keyTYPE_RSAX509gmtime_adj_notBeforegmtime_adj_notAfterget_subjectCN
set_pubkeysignopenwritedump_privatekeyFILETYPE_PEMdecodedump_certificater   debug)certnamepkeycertsubjcertfile r    /root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/impacket/examples/ntlmrelayx/utils/ssl.pygenerateImpacketCert!   s   


r"   c                   @   s   e Zd ZdddZdS )SSLServerMixinr   c                 C   s   t t j}|dd z|| || W n t jy7   t	d t
| || || Y nw t || j}|  || _d S )NzALL:@SECLEVEL=0r	   zGSSL requested - generating self-signed certificate in /tmp/impacket.crt)r   Context
TLS_METHODset_cipher_listencodeuse_privatekey_fileuse_certificate_fileErrorr   infor"   
ConnectionsocksSocketset_accept_state)selfr   ctx	sslSocketr    r    r!   wrapClientConnection8   s   



z#SSLServerMixin.wrapClientConnectionNr   )__name__
__module____qualname__r2   r    r    r    r!   r#   6   s    r#   Nr3   )OpenSSLr   r   r   r   r"   objectr#   r    r    r    r!   <module>   s   
