dd?ddlZddlZddlZddlmZ ddlmZddlmZm Z dee e fde fdZ dee e fde fd Zde de fd Zd ede fd Zd ee e fdefd Zdedede fdZde defdZd ede fdZde ddde fdZde ddde fdZhdZej2ddj5ezdzej6Zde defdZd Zej2d!Z gd"Z!de defd#Z"y#e $rYwxYw)$N)Union) EllipticCurve)decode_dss_signatureencode_dss_signaturevaluereturnc~t|tr|jdSt|tr|St d)Nzutf-8zExpected a string value) isinstancestrencodebytes TypeError)rs +/usr/lib/python3/dist-packages/jwt/utils.py force_bytesrs6%||G$$ E5 ! 122inputc~t|}t|dz}|dkDr |dd|z zz }tj|S)Nr=)rlenbase64urlsafe_b64decode)r input_bytesrems rbase64url_decodersFe$K k Q C Qwtq3w''  # #K 00rcLtj|jddS)Nrr)rurlsafe_b64encodereplace)rs rbase64url_encoder$s  # #E * 2 24 ==rvalcn|dkr tdt|}t|dk(rd}t|S)NrzMust be a positive integer) ValueErrorbytes_from_intrr)r int_bytess rto_base64url_uintr&(s; Qw566s#I 9~ I &&rcXtt|}tj|dS)Nbig) byteorder)rrint from_bytes)r datas rfrom_base64url_uintr-4s$ K, -D >>$%> 00rnum num_bytesc^dd|z|fz}tj|jdS)Nz%0*xascii)binasciia2b_hexr )r.r/ padded_hexs rnumber_to_bytesr69s11y=#..J   J--g6 77rstringc@ttj|dS)N)r*r3b2a_hex)r7s rbytes_to_numberr;>s x' ,,rc\|}d}|dk7r|dz}|dz }|dk7r|j|ddS)Nrr(F)signed)to_bytes)r remaining byte_lengths rr$r$BsFIK q.a q  q. << U5< 99rder_sigcurvercx|j}|dzdz}t|\}}t||t||zS)Nr=)key_sizerr6)rCrDnum_bitsr/rss rder_to_raw_signaturerKMs@~~HA!#I  (DAq 1i (?1i+H HHrraw_sigc|j}|dzdz}t|d|zk7r tdt|d|}t||d}t t ||S)NrFr=r1zInvalid signature)rGrr#r;r r)rLrDrHr/rIrJs rraw_to_der_signaturerNVsj~~HA!#I 7|q9}$,-- +,A +,A %a+ ,,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[- ]---- ? ?keyc>ttj|SN)bool_PEM_REsearch)r`s r is_pem_formatrfs s# $$rs-cert-v01@openssh.coms\A(\S+)[ \t]+(\S+))s ssh-ed25519sssh-rsasssh-dsssecdsa-sha2-nistp256secdsa-sha2-nistp384secdsa-sha2-nistp521ctfdtDrytj}|r,|j d}t |t t  dk(ryy)Nc3&K|]}|v ywrb).0 string_valuer`s r zis_ssh_key..s D<<3  DsTr>F)any_SSH_KEY_FORMATS_SSH_PUBKEY_RCmatchgroup _CERT_SUFFIXr)r`ssh_pubkey_matchkey_types` r is_ssh_keyrusW D3C DD%++C0#))!, 8S%6$6$89 9 r)#rr3retypingr,cryptography.hazmat.primitives.asymmetric.ecr/cryptography.hazmat.primitives.asymmetric.utilsrrModuleNotFoundErrorr r rrrr*r&r-r6r;r$rKrN_PEMScompilejoinDOTALLrdrcrfrrrornrurirrrs   J3uUCZ(3U31E%*-1%1>E>e> '3 '5 '1U5#:.131 8888 -E-c-:::I%IIEI -% - -E - & "** ii!! II  %u%% ( 23 E d M  sC&&C.-C.