%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /snap/core18/current/usr/lib/python3/dist-packages/jwt/__pycache__/
Upload File :
Create Path :
Current File : //snap/core18/current/usr/lib/python3/dist-packages/jwt/__pycache__/utils.cpython-36.pyc

3

�M�b�@s(ddlZddlZddlZddlZddlmZmZmZyddlm	Z	m
Z
Wnek
r\YnXdd�Zdd�Z
d	d
�Zdd�Zd
d�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdddddd d!d"d#d$d%d&d'd(d)d*hZejd+d,je�d-ej�Zd.d/�Zd0Zejd1�Zd2d3d4d5d6d7gZd8d9�Z dS):�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�+/usr/lib/python3/dist-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



rcCsBt|t�r|jd�}t|�d}|dkr8|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.srcCs0|dkrtd��t|�}t|�dkr(d}t|�S)NrzMust be a positive integer�)�
ValueErrorrrr)�val�	int_bytesrrr
�to_base64url_uint2srcCsJt|t�r|jd�}t|�}tjdt|�|�}tdjdd�|D��d�S)Nrz%sB�cSsg|]}d|�qS)z%02xr)�.0Zbyterrr
�
<listcomp>Esz'from_base64url_uint.<locals>.<listcomp>�)	rrrr�structZunpackr�int�join)r�dataZbufrrr
�from_base64url_uint>s


r(cCsV|s|Sy|j�}|j|�Wn2ttfk
rP}ztd|��WYdd}~XnX|S)Nz-original and updates must be a dictionary: %s)�copy�update�AttributeErrorrr
)ZoriginalZupdatesZmerged_options�errr
�
merge_dictHsr-cCs$dd||f}tj|jd��}|S)Nz%0*x�r)�binasciiZa2b_hexr)Znum�	num_bytesZ
padded_hexZ
big_endianrrr
�number_to_bytesUsr1cCsttj|�d�S)Nr#)r%r/Zb2a_hex)�stringrrr
�bytes_to_number[sr3cCs2|j}|dd}t|�\}}t||�t||�S)N��)�key_sizerr1)Zder_sig�curve�num_bitsr0�r�srrr
�der_to_raw_signature_sr;cCsT|j}|dd}t|�d|kr*td��t|d|��}t||d��}t||�S)Nr4r5r.zInvalid signature)r6rrr3r)Zraw_sigr7r8r0r9r:rrr
�raw_to_der_signaturehsr<sCERTIFICATEsTRUSTED CERTIFICATEsPRIVATE KEYs
PUBLIC KEYsENCRYPTED PRIVATE KEYsOPENSSH PRIVATE KEYsDSA PRIVATE KEYsRSA PRIVATE KEYsRSA PUBLIC KEYsEC PRIVATE KEYs
DH PARAMETERSsNEW CERTIFICATE REQUESTsCERTIFICATE REQUESTsSSH2 PUBLIC KEYsSSH2 ENCRYPTED PRIVATE KEYsX509 CRLs----[- ]BEGIN (�|s,)[- ]----
?
.+?
?
----[- ]END \1[- ]----
?
?cCsttj|��S)N)�bool�_PEM_RE�search)�keyrrr
�
is_pem_format�srBs-cert-v01@openssh.coms\A(\S+)[ \t]+(\S+)sssh-ed25519sssh-rsasssh-dsssecdsa-sha2-nistp256secdsa-sha2-nistp384secdsa-sha2-nistp521csPt�fdd�tD��rdStj��}|rL|jd�}t|tt�d�krLdSdS)Nc3s|]}|�kVqdS)Nr)r!Zstring_value)rArr
�	<genexpr>�szis_ssh_key.<locals>.<genexpr>TrF)�any�_SSH_KEY_FORMATS�_SSH_PUBKEY_RC�match�group�_CERT_SUFFIXr)rAZssh_pubkey_matchZkey_typer)rAr
�
is_ssh_key�s

rJ)!rr/�rer$�compatrrrZ/cryptography.hazmat.primitives.asymmetric.utilsrr�ImportErrorrrrrrr(r-r1r3r;r<Z_PEMS�compiler&�DOTALLr?rBrIrFrErJrrrr
�<module>sb		

	


Zerion Mini Shell 1.0