%PDF- %PDF-
Mini Shell

Mini Shell

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

U

D�b7�@s8ddlZddlZddlZddlZddlmZmZmZzddlm	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*hZe�d+d,�e�d-ej�Zeed.�d/d0�Zd1Ze�d2�Z d3d4d5d6d7d8gZ!eed.�d9d:�Z"dS);�N�)�binary_type�bytes_from_int�	text_type)�decode_dss_signature�encode_dss_signaturecCs.t|t�r|�d�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|�d�St|t�r"|Std��dSr)r	r�encoderrrrrr�force_bytess



rcCsBt|t�r|�d�}t|�d}|dkr8|dd|7}t�|�S)N�ascii�r�=)r	rr�len�base64Zurlsafe_b64decode)�inputZremrrr�base64url_decode"s

rcCst�|��dd�S)Nr�)rZurlsafe_b64encode�replace)rrrr�base64url_encode.srcCs0|dkrtd��t|�}t|�dkr(d}t|�S)NrzMust be a positive integer�)�
ValueErrorrrr)�valZ	int_bytesrrr�to_base64url_uint2sr cCsJt|t�r|�d�}t|�}t�dt|�|�}td�dd�|D��d�S)Nrz%sB�cSsg|]}d|�qS)z%02xr)�.0Zbyterrr�
<listcomp>Esz'from_base64url_uint.<locals>.<listcomp>�)	r	rrr�structZunpackr�int�join)r�dataZbufrrr�from_base64url_uint>s


r)c
CsV|s|Sz|��}|�|�Wn2ttfk
rP}ztd|��W5d}~XYnX|S)Nz-original and updates must be a dictionary: %s)�copy�update�AttributeErrorrr)ZoriginalZupdatesZmerged_options�errr�
merge_dictHsr.cCs$dd||f}t�|�d��}|S)Nz%0*x�r)�binasciiZa2b_hexr)Znum�	num_bytesZ
padded_hexZ
big_endianrrr�number_to_bytesUsr2cCstt�|�d�S)Nr$)r&r0Zb2a_hex)�stringrrr�bytes_to_number[sr4cCs2|j}|dd}t|�\}}t||�t||�S)N��)�key_sizerr2)Zder_sig�curve�num_bitsr1�r�srrr�der_to_raw_signature_sr<cCsT|j}|dd}t|�d|kr*td��t|d|��}t||d��}t||�S)Nr5r6r/zInvalid signature)r7rrr4r)Zraw_sigr8r9r1r:r;rrr�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[- ]----
?
?)�key�returncCstt�|��S�N)�bool�_PEM_RE�search�r?rrr�
is_pem_format�srFs-cert-v01@openssh.coms\A(\S+)[ \t]+(\S+)sssh-ed25519sssh-rsasssh-dsssecdsa-sha2-nistp256secdsa-sha2-nistp384secdsa-sha2-nistp521csPt�fdd�tD��rdSt���}|rL|�d�}t|tt�d�krLdSdS)Nc3s|]}|�kVqdSrAr)r"Zstring_valuerErr�	<genexpr>�szis_ssh_key.<locals>.<genexpr>TrF)�any�_SSH_KEY_FORMATS�_SSH_PUBKEY_RC�match�group�_CERT_SUFFIXr)r?Zssh_pubkey_matchZkey_typerrEr�
is_ssh_key�s

rN)#rr0�rer%�compatrrrZ/cryptography.hazmat.primitives.asymmetric.utilsrr�ImportErrorrrrrr r)r.r2r4r<r=Z_PEMS�compiler'�DOTALLrC�bytesrBrFrMrJrIrNrrrr�<module>sn		

	����

�

Zerion Mini Shell 1.0