&)cEddlmZddlZddlZddlmZddlmZmZm Z GddZ Gdd Z Gd d Z dS) ) annotationsN)get_default_algorithms)InvalidKeyError PyJWKError PyJWKSetErrorceZdZddZeddZeddZedZedZ edZ dS) PyJWKNcDt|_||_|jdd}|st d|j|s5t |jt r|jdd}|s|jdd}|dkr8|dks|sd}n|dkrd }n|d krd }ny|d krd }npt d||dkrd}nU|dkrd}nL|dkr4|st d|j|dkrd}n$t d|t d||j||_|jstd|j|j |j|_ dS)Nktyzkty is not found: algcrvECzP-256ES256zP-384ES384zP-521ES512 secp256k1ES256KzUnsupported crv: RSARS256octHS256OKPzcrv is not found: Ed25519EdDSAzUnsupported kty: z$Unable to find a algorithm for key: ) r _algorithms _jwk_datagetr isinstancedict Algorithmrfrom_jwkkey)selfjwk_data algorithmr rs -/usr/lib/python3/dist-packages/jwt/api_jwk.py__init__zPyJWK.__init__ s133!n  -- I!"Gt~"G"GHH H 8Z== 8**5$77I A.$$UD11Cd{{'>>> 'IIG^^ 'IIG^^ 'IIK'' (II)*Cc*C*CDDD# # Q)*Ot~*O*OPPP)## 'II)*Cc*C*CDDD%&?#&?&?@@@)--i88~ VTDNTTUU U>**4>::c"t||SN)r )objr&s r' from_dictzPyJWK.from_dict9sS)$$$r)c`tj|}t||Sr+)jsonloadsr r-)datar&r,s r' from_jsonzPyJWK.from_json=s%jsI...r)c8|jddS)Nr rrr$s r'key_typezPyJWK.key_typeB~!!%...r)c8|jddS)Nkidr4r5s r'key_idz PyJWK.key_idFr7r)c8|jddS)Nuser4r5s r'public_key_usezPyJWK.public_key_useJr7r)r+) __name__ __module__ __qualname__r( staticmethodr-r2propertyr6r:r=r)r'r r s,;,;,;,;\%%%\%///\///X///X///X///r)r cHeZdZd dZedZedZdZd S) PyJWKSetkeys list[dict]returnNonecFg|_|stdt|tstd|D]:} |jt |+#t $rY7wxYwt|jdkrtddS)Nz$The JWK Set did not contain any keyszInvalid JWK Set valuerz+The JWK Set did not contain any usable keys)rFrrlistappendr rlen)r$rFr#s r'r(zPyJWKSet.__init__Ps  H FGG G$%% 9 788 8  C    s,,,,     ty>>Q   MNN N  s'A** A76A7cL|dg}t|S)NrF)rrE)r,rFs r'r-zPyJWKSet.from_dictcs!wwvr""~~r)c^tj|}t|Sr+)r/r0rEr-)r1r,s r'r2zPyJWKSet.from_jsonhs%j!!#&&&r)cX|jD]}|j|kr|cStd|)Nzkeyset has no key for kid: )rFr:KeyError)r$r9r#s r' __getitem__zPyJWKSet.__getitem__msE9  CzS   !:S::;;;r)N)rFrGrHrI)r>r?r@r(rAr-r2rRrCr)r'rErEOsqOOOO&\''\'<<<<r?r@r(r[r]rCr)r'rTrTtsF****r)rT) __future__rr/rW algorithmsr exceptionsrrrr rErTrCr)r'ras"""""" ......BBBBBBBBBBB/B/B/B/B/B/B/B/J"<"<"<"<"<"<"<"