U
    ½Ó…Y  ã                   @   s@   d dl Z d dlZd\ZZZdd„ Zddd„Zd	d
„ Zdd„ ZdS )é    N)r   é   é   c           	      G   s  t tdd„ ttdd„ |ƒƒƒƒ}t tdd„ ttdd„ |ƒƒƒƒ}d}d}g }t}|  ¡ }|s^qü| ¡ }|tkrˆ||krˆg }|| }t}qP|tkr´||krª|| |krªt}n
| |¡ |tkrPt	j
d d	kràd d
d„ |D ƒ¡}qüd ¡  dd„ |D ƒ¡}qüqP||fS )Nc                 S   s   | d | d fS ©Nr   r   © ©Úxr   r   ú4/usr/lib/python3/dist-packages/pyasn1_modules/pem.pyÚ<lambda>   ó    z'readPemBlocksFromFile.<locals>.<lambda>c                 S   s   | d S )Nr   r   ©Úyr   r   r   r	      r
   c                 S   s   | d | d fS r   r   r   r   r   r   r	      r
   c                 S   s   | d S )Nr   r   r   r   r   r   r	      r
   éÿÿÿÿÚ r   r   c                 S   s   g | ]}t  |¡‘qS r   )Úbase64Ú	b64decode©Ú.0r   r   r   r   Ú
<listcomp>*   s     z)readPemBlocksFromFile.<locals>.<listcomp>c                 S   s   g | ]}t  | ¡ ¡‘qS r   )r   r   Úencoder   r   r   r   r   ,   s     )ÚdictÚmapÚ	enumerateÚstSpamÚreadlineÚstripÚstHamÚstDumpÚappendÚsysÚversion_infoÚjoinr   )	ÚfileObjZmarkersZstartMarkersZstopMarkersÚidxÚ	substrateZ	certLinesÚstateZcertLiner   r   r   ÚreadPemBlocksFromFile   s<    
ÿ
ÿ
r%   ú-----BEGIN CERTIFICATE-----ú-----END CERTIFICATE-----c                 C   s   t | ||fƒ\}}|S ©N)r%   )r!   ZstartMarkerZ	endMarkerr"   r#   r   r   r   ÚreadPemFromFile2   s    r)   c                 C   s*   t jd dkrt | ¡S t |  ¡ ¡S d S )Nr   r   )r   r   r   r   r   )Útextr   r   r   ÚreadBase64fromText9   s    
r+   c                 C   s   t |  ¡ ƒS r(   )r+   Úread)r!   r   r   r   ÚreadBase64FromFile@   s    r-   )r&   r'   )	r   r   r   r   r   r%   r)   r+   r-   r   r   r   r   Ú<module>   s   
$  þ
