Viewing 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ú	/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)ÚinputÚremr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Ú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
)ZoriginalZupdatesZmerged_optionsÚerrr
Ú
merge_dictGs#r/cCs0dd||f}tj|jdƒƒ}|S)Nz%0*xér)ÚbinasciiZa2b_hexr)ÚnumÚ	num_bytesZ
padded_hexZ
big_endianrrr
Únumber_to_bytesTsr4cCsttj|ƒdƒS)Nr#)r&r1Zb2a_hex)Ústringrrr
Úbytes_to_numberZsr6cCsC|j}|dd}t|ƒ\}}t||ƒt||ƒS)Néé)Úkey_sizerr4)Zder_sigÚcurveÚnum_bitsr3ÚrÚsrrr
Úder_to_raw_signature^s	r>cCsr|j}|dd}t|ƒd|kr9tdƒ‚t|d|…ƒ}t||d…ƒ}t||ƒS)Nr7r8r0zInvalid signature)r9rrr6r)Zraw_sigr:r;r3r<r=rrr
Úraw_to_der_signaturegs	r?)rr1r$ÚcompatrrrZ/cryptography.hazmat.primitives.asymmetric.utilsrrÚImportErrorrrrrrr*r/r4r6r>r?rrrr
Ú<module>s$
		

	
Back to Directory File Manager