InvalidSignature using DecodingKey::from_jwk
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 38/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- rust
- Ambito
- authentication, security
Direzione di ricerca
Inizia da DecodingKey::from_jwk e DecodingKey::from_rsa_components, confrontando la gestione del JWK fornito con quella del percorso from_rsa_pem funzionante. Usa il token e il JWK forniti per isolare il motivo per cui la verifica restituisce InvalidSignature; il lavoro è completato quando la verifica basata su JWK riesce in modo coerente con la verifica basata su PEM.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
I am creating access tokens using jsonwebtoken - here is an example on jwt.io.
You can see that jwt.io regards the token as 'Signature Verified', however when I try to verify tokens using the jwk in a test I get an InvalidSignature error:
let decoding_key = DecodingKey::from_jwk(config.jwk())?;
let mut token_validation = Validation::new(config.algorithm());
token_validation.set_audience(&[&config.audience]);
let decoded: TokenData<JsonWebToken> = decode(&*actual, &decoding_key, &token_validation)?
Curiously if I use the public key pem file the test passes successfully:
let decoding_key = DecodingKey::from_rsa_pem(config.public_key())?;
let mut token_validation = Validation::new(config.algorithm());
token_validation.set_audience(&[&config.audience]);
let decoded: TokenData<JsonWebToken> = decode(&*actual, &decoding_key, &token_validation)?;
I have been round the houses with this a few times now and have also tried to use DecodingKey::from_rsa_components with the same result.
Here is the jwk for reference.
{"use":"sig","alg":"RS256","kid":"jwt-key-1","kty":"RSA","n":"ALGVuKyQ3vTQ8HibKWkyli_Chuv_BKLAqkClIAEakZW8JF-OxnRsnr9TLZxFVXQPxwBb8lpcWO3BIaX83POhV1a_CyOjDCQbyGQFWYAuLLWEAF7FGZV2SpZIzo_0yv-Sni87BHr3pGBsnHeKxT4m2JRGkUQVa5-fOcyeyz_h3SxsPx-I_9UhAseI2tTQz5i50-IxHmG8sOuhu6vxnYcYsJH6RcPIzvsnv9SJYFge0ij7G3CFJXviegFFRUZx9BTPcQ66vEtqegzl40KeBWQk-4Y27On7rgn-PbnrqkS--dhFLcC_nPaoX5DMcrqrANawXCfyMQf9Uf-8VsTemgadR1O2L_S70bGZhN_pEDMEpw9LaND3fJLLgmP-Vfm8S3o2xJBm8tuZIv6aEkq34yueU4-sv5UAftuva_C8y4NdPwxHXqBT5FJuhE2ntKMTxsJk0gZ2u8GGTP8nqlcHaQE0cH-6DHKc8r_XSDsnYwfjZc0JGM4M8skDkxmBd1xKxhuKFw","e":"AQAB"}
Any and all help gratefully received!
- Lingua principale
- Rust
- Stelle
- 2.1k
- Fork
- 371
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di Keats/jsonwebtoken
-
rust_crypto EdDSA verifier panics on short public keys and truncates long onesForse già presa @akashchamp l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
Keats/jsonwebtoken#547 ·
-
`Jwk::from_encoding_key` rejects PKCS#8 v2 (RFC 5958) Ed25519 private keysForse già presa @ucsurf l’ha presa 22 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
Keats/jsonwebtoken#544 · 1 commento ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
Keats/jsonwebtoken#542 · 1 commento ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
Keats/jsonwebtoken#519 · 2 commenti ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
Keats/jsonwebtoken#497 ·
Tutte le issue di Keats/jsonwebtoken
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 61/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
rust-embedded/heapless#694 ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 75/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
farion1231/cc-switch#8899 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
manuscript-lang/manuscript#1364 ·
I maintainer di solito rispondono entro 1 giorno