o
    ýÞh±  ã                   @   s.   d Z ddlZddlmZ ddlZddd„ZdS )zUtility functions.é    N)ÚOptionParserÚreturnc            	      C   s´  t ddd�} | jdddddd	� | jd
ddddd	� | jdddddd� | jdddddd� |  tj¡\}}|jratd|j|jf tjd� t	|jdƒ�}| 
¡ }W d  ƒ n1 s[w   Y  ntd|j tjd� tj 
¡  d¡}t|ƒtksJ t|ƒƒ‚tjj ||j¡}tj |j|j¡}| |j¡}|jrÅtd|j|jf tjd� t	|jdƒ�}| |¡ W d  ƒ dS 1 s¾w   Y  dS td|j tjd� tj | d¡¡ dS ) z=Reads a private key and outputs the corresponding public key.zusage: %prog [options]z‚Reads a private key and outputs the corresponding public key. Both private and public keys use the format described in PKCS#1 v1.5)ÚusageÚdescriptionz-iz--inputÚ
infilenameÚstringz1Input filename. Reads from stdin if not specified)ÚdestÚtypeÚhelpz-oz--outputÚoutfilenamez2Output filename. Writes to stdout of not specifiedz--informÚinformz!key format of input - default PEM)ÚPEMÚDERr   )r   r
   ÚchoicesÚdefaultz	--outformÚoutformz"key format of output - default PEMz(Reading private key from %s in %s format)ÚfileÚrbNz+Reading private key from stdin in %s formatÚasciiz%Writing public key to %s in %s formatÚwbz)Writing public key to stdout in %s format)r   Ú
add_optionÚ
parse_argsÚsysÚargvr   Úprintr   ÚstderrÚopenÚreadÚstdinÚencoder	   ÚbytesÚrsaÚkeyÚ
PrivateKeyÚ
load_pkcs1Ú	PublicKeyÚnÚeÚ
save_pkcs1r   r   ÚwriteÚstdoutÚdecode)	ÚparserÚcliÚcli_argsÚinfileÚin_dataÚpriv_keyÚpub_keyÚout_dataÚoutfile© r5   úH/var/www/html/premium_crap/venv/lib/python3.10/site-packages/rsa/util.pyÚprivate_to_public   st   þûûûûþ
ÿ€þ"ÿr7   )r   N)Ú__doc__r   Úoptparser   Úrsa.keyr!   r7   r5   r5   r5   r6   Ú<module>   s
   