Viewing File: /opt/alt/python38/lib/python3.8/site-packages/jwt/__pycache__/utils.cpython-38.pyc

U

_	@sddlZddlZddlmZmZz ddlmZddlmZm	Z	Wne
k
rXeZYnXeeefedddZ
eeefedd	d
ZeedddZeed
ddZeeefed
ddZeeedddZeedddZeed
ddZeeedddZeeedddZdS) N)AnyUnion)
EllipticCurve)decode_dss_signatureencode_dss_signature)valuereturncCs.t|tr|dSt|tr"|StddS)Nzutf-8zExpected a string value)
isinstancestrencodebytes	TypeError)rr:/opt/alt/python38/lib/python3.8/site-packages/jwt/utils.pyforce_bytess



r)inputrcCsBt|tr|d}t|d}|dkr8|dd|7}t|S)Nasciir=)r	r
rlenbase64Zurlsafe_b64decode)rZremrrrbase64url_decodes

rcCst|ddS)Nr)rZurlsafe_b64encodereplace)rrrrbase64url_encode$sr)valrcCs0|dkrtdt|}t|dkr(d}t|S)NrzMust be a positive integer)
ValueErrorbytes_from_intrr)rZ	int_bytesrrrto_base64url_uint(srcCs*t|tr|d}t|}tj|ddS)Nrbig)	byteorder)r	r
rrint
from_bytes)rdatarrrfrom_base64url_uint4s

r%)num	num_bytesrcCs$dd||f}t|d}|S)Nz%0*xr)binasciiZa2b_hexr)r&r'Z
padded_hexZ
big_endianrrrnumber_to_bytes<sr*)stringrcCstt|dS)N)r"r)Zb2a_hex)r+rrrbytes_to_numberBsr-cCs2|}d}|dkr"|d?}|d7}q|j|dddS)Nrr F)Zsigned)to_bytes)rZ	remainingZbyte_lengthrrrrFs
r)der_sigcurvercCs2|j}|dd}t|\}}t||t||S)Nr.)key_sizerr*)r1r2num_bitsr'rsrrrder_to_raw_signatureQsr8)raw_sigr2rcCsT|j}|dd}t|d|kr*tdt|d|}t||d}t||S)Nr3r.r(zInvalid signature)r4rrr-r)r9r2r5r'r6r7rrrraw_to_der_signatureZsr:)rr)typingrrZ,cryptography.hazmat.primitives.asymmetric.ecrZ/cryptography.hazmat.primitives.asymmetric.utilsrrModuleNotFoundErrorr
rrrrr"rr%r*r-rr8r:rrrr<module>s"
		
Back to Directory File Manager