&)cddlZddlZddlZddlmZ ddlmZddlmZm Z n #e $rdZYnwxYwdee e fde fdZ dee e fde fd Zde de fd Zd ede fd Zd ee e fdefd Zdedede fdZde defdZd ede fdZde dede fdZde dede fdZhdZejddezdzejZde defdZdZejd Z gd!Z!de defd"Z"dS)#N)Union) EllipticCurve)decode_dss_signatureencode_dss_signaturevaluereturnct|tr|dSt|tr|St d)Nzutf-8zExpected a string value) isinstancestrencodebytes TypeError)rs +/usr/lib/python3/dist-packages/jwt/utils.py force_bytesrsL%3||G$$$ E5 ! !3 1222inputct|tr|d}t|dz}|dkr |dd|z zz }t j|S)Nasciir=)r r r lenbase64urlsafe_b64decode)rrems rbase64url_decodersa%& W%% e**q.C Qww S!!  #E * **rcRtj|ddS)Nrr)rurlsafe_b64encodereplace)rs rbase64url_encoder%s#  #E * * 2 24 = ==rvalc|dkrtdt|}t|dkrd}t|S)NrzMust be a positive integer) ValueErrorbytes_from_intrr)r int_bytess rto_base64url_uintr&)sK Qww5666s##I 9~~ I & &&rct|tr|d}t|}t|dS)Nrbig) byteorder)r r r rint from_bytes)r datas rfrom_base64url_uintr-5sH#s"jj!! C D >>$%> 0 00rnum num_bytescddd|z|fz}tj|dS)Nz%0*xr)binasciia2b_hexr )r.r/ padded_hexs rnumber_to_bytesr5=s41y=#..J  J--g66 7 77rstringcFttj|dS)N)r*r2b2a_hex)r6s rbytes_to_numberr:Bs x'' , ,,rcf|}d}|dkr|dz}|dz }|dk||ddS)Nrr(F)signed)to_bytes)r remaining byte_lengths rr$r$FsMIK q..a q  q.. << U5< 9 99rder_sigcurvec|j}|dzdz}t|\}}t||t||zS)Nr<)key_sizerr5)rBrCnum_bitsr/rss rder_to_raw_signaturerJQsG~HA!#I  ( (DAq 1i ( (?1i+H+H HHrraw_sigc|j}|dzdz}t|d|zkrtdt|d|}t||d}t ||S)NrEr<r1zInvalid signature)rFrr#r:r)rKrCrGr/rHrIs rraw_to_der_signaturerMZsw~HA!#I 7||q9}$$,---  +,,A +,,A 1 % %%r>X509 CRL PUBLIC KEY CERTIFICATE PRIVATE KEY DH PARAMETERSEC PRIVATE KEYRSA PUBLIC KEYDSA PRIVATE KEYRSA PRIVATE KEYSSH2 PUBLIC KEYCERTIFICATE REQUESTOPENSSH PRIVATE KEYTRUSTED CERTIFICATEENCRYPTED PRIVATE KEYNEW CERTIFICATE REQUESTSSH2 ENCRYPTED PRIVATE KEYs----[- ]BEGIN (|s,)[- ]---- ? .+? ? ----[- ]END \1[- ]---- ? ?keycPtt|SN)bool_PEM_REsearch)r_s r is_pem_formatres s## $ $$rs-cert-v01@openssh.coms\A(\S+)[ \t]+(\S+))s ssh-ed25519sssh-rsasssh-dsssecdsa-sha2-nistp256secdsa-sha2-nistp384secdsa-sha2-nistp521ctfdtDrdSt}|r=|d}t |t t  dkrdSdS)Nc3 K|]}|vV dSra).0 string_valuer_s r zis_ssh_key..s( D D<<3  D D D D D DrTr=F)any_SSH_KEY_FORMATS_SSH_PUBKEY_RCmatchgroup _CERT_SUFFIXr)r_ssh_pubkey_matchkey_types` r is_ssh_keyrts D D D D3C D D DDDt%++C00#))!,, 8S%6%6$6$8$89 9 94 5r)#rr2retypingr,cryptography.hazmat.primitives.asymmetric.ecr/cryptography.hazmat.primitives.asymmetric.utilsrrModuleNotFoundErrorr r rrrr*r&r-r5r:r$rJrM_PEMScompilejoinDOTALLrcrbrerqrnrmrtrhrrr~s  JJJJJJMMM3uS%Z(3U3333 +E#u*- +% + + + +>E>e>>>> '3 '5 ' ' ' '1U3:.1311118888888 -E-c----::::::I%I I%IIII &% & &% & & & &   & "* ii!! I   %u%%%%% ( 233 E d      s #--