Your IP : 216.73.216.196


Current Path : /opt/alt/python35/lib/python3.5/site-packages/jwt/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib/python3.5/site-packages/jwt/__pycache__/utils.cpython-35.pyc



b'[E
�@s�ddlZddlZddlZddlmZmZmZyddlmZm	Z	Wne
k
rnYnXdd�Zdd�Zd	d
�Z
dd�Zd
d�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�ZdS)�N�)�binary_type�bytes_from_int�	text_type)�decode_dss_signature�encode_dss_signaturecCs?t|t�r|jd�St|t�r/|Std��dS)Nzutf-8zExpected a string value)�
isinstancer�decoder�	TypeError)�value�r�:/opt/alt/python35/lib/python3.5/site-packages/jwt/utils.py�
force_unicodes

rcCs?t|t�r|jd�St|t�r/|Std��dS)Nzutf-8zExpected a string value)rr�encoderr
)rrrr
�force_bytess

rcCsYt|t�r|jd�}t|�d}|dkrL|dd|7}tj|�S)N�ascii�r�=)rrr�len�base64�urlsafe_b64decode)�input�remrrr
�base64url_decode!srcCstj|�jdd�S)Nr�)r�urlsafe_b64encode�replace)rrrr
�base64url_encode-srcCsF|dkrtd��t|�}t|�dkr<d}t|�S)NrzMust be a positive integers)�
ValueErrorrrr)�val�	int_bytesrrr
�to_base64url_uint1sr!cCsit|t�r|jd�}t|�}tjdt|�|�}tdjdd�|D��d�S)Nrz%sB�cSsg|]}d|�qS)z%02xr)�.0Zbyterrr
�
<listcomp>Ds	z'from_base64url_uint.<locals>.<listcomp>�)	rrrr�struct�unpackr�int�join)r�data�bufrrr
�from_base64url_uint=s
r,cCsi|s
|Sy|j�}|j|�Wn;ttfk
rd}ztd|��WYdd}~XnX|S)Nz-original and updates must be a dictionary: %s)�copy�update�AttributeErrorrr
)�originalZupdatesZmerged_options�errr
�
merge_dictGs#r2cCs0dd||f}tj|jd��}|S)Nz%0*x�r)�binascii�a2b_hexr)�num�	num_bytesZ
padded_hexZ
big_endianrrr
�number_to_bytesTsr8cCsttj|�d�S)Nr%)r(r4�b2a_hex)�stringrrr
�bytes_to_numberZsr;cCsC|j}|dd}t|�\}}t||�t||�S)N��)�key_sizerr8)Zder_sig�curve�num_bitsr7�r�srrr
�der_to_raw_signature^s	rCcCsr|j}|dd}t|�d|kr9td��t|d|��}t||d��}t||�S)Nr<r=r3zInvalid signature)r>rrr;r)Zraw_sigr?r@r7rArBrrr
�raw_to_der_signaturegs	rD)rr4r&�compatrrrZ/cryptography.hazmat.primitives.asymmetric.utilsrr�ImportErrorrrrrr!r,r2r8r;rCrDrrrr
�<module>s$