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.opt-1.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�base64Zurlsafe_b64decode)�inputZremrrr
�base64url_decode!srcCstj|�jdd�S)Nr�)rZurlsafe_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rcCsit|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�structZunpackr�int�join)r�dataZbufr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
)ZoriginalZupdatesZmerged_options�errr
�
merge_dictGs#r,cCs0dd||f}tj|jd��}|S)Nz%0*x�r)�binasciiZa2b_hexr)Znum�	num_bytesZ
padded_hexZ
big_endianrrr
�number_to_bytesTsr0cCsttj|�d�S)Nr")r$r.Zb2a_hex)�stringrrr
�bytes_to_numberZsr2cCsC|j}|dd}t|�\}}t||�t||�S)N��)�key_sizerr0)Zder_sig�curve�num_bitsr/�r�srrr
�der_to_raw_signature^s	r:cCsr|j}|dd}t|�d|kr9td��t|d|��}t||d��}t||�S)Nr3r4r-zInvalid signature)r5rrr2r)Zraw_sigr6r7r/r8r9rrr
�raw_to_der_signaturegs	r;)rr.r#�compatrrrZ/cryptography.hazmat.primitives.asymmetric.utilsrr�ImportErrorrrrrrr'r,r0r2r:r;rrrr
�<module>s$