ES256 errors with InvalidEcdsaKey
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 35/100
- Tipo di issue
- Documentazione
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- rust
- Ambito
- cryptography, security
Direzione di ricerca
Confronta le strutture delle chiavi secp256k1 e prime256v1 mostrate nell’issue, partendo da ring::io::der::expect_tag_and_get_value e dal test adattato che usa tests.pem. Verifica quali combinazioni di curva e algoritmo accetta la libreria. Il lavoro è completato quando sono documentati la curva supportata, il motivo per cui secp256k1 produce InvalidEcdsaKey e l’esempio corretto di generazione della chiave.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Deep down in ring::io::der::expect_tag_and_get_value I always get an error bubbling up to an InvalidEcdsaKey. I think my brain melted trying to figure out the problem.
This is how I'm generating keys:
openssl ecparam -name secp256k1 -genkey -noout -out private.sec1.pem
openssl ec -in private.sec1.pem -pubout > public.pem
openssl pkcs8 -topk8 -nocrypt -in private.sec1.pem -out private.pkcs.pem
Here's the private key:
openssl asn1parse -i -in private.sec1.pem
0:d=0 hl=2 l= 116 cons: SEQUENCE
2:d=1 hl=2 l= 1 prim: INTEGER :01
5:d=1 hl=2 l= 32 prim: OCTET STRING [HEX DUMP]:311AF2663D9B22B553BD72E1960640D8586C4A7D6CBA2B1915F8988E1FE0DFDF
39:d=1 hl=2 l= 7 cons: cont [ 0 ]
41:d=2 hl=2 l= 5 prim: OBJECT :secp256k1
48:d=1 hl=2 l= 68 cons: cont [ 1 ]
50:d=2 hl=2 l= 66 prim: BIT STRING
Here's the key you use in tests:
openssl asn1parse -i -in tests.pem
0:d=0 hl=3 l= 135 cons: SEQUENCE
3:d=1 hl=2 l= 1 prim: INTEGER :00
6:d=1 hl=2 l= 19 cons: SEQUENCE
8:d=2 hl=2 l= 7 prim: OBJECT :id-ecPublicKey
17:d=2 hl=2 l= 8 prim: OBJECT :prime256v1
27:d=1 hl=2 l= 109 prim: OCTET STRING [HEX DUMP]:306B020101042059315F08696363A6B0DC7AED90798F4626B3BA4C4F2DBEA29694407B08D6F278A14403420004C3B240A14FE025B649BD5FB308EBD4F72149AB414D0BF79D08C44CEFC3FC7904C10835132B5CB04986ACCEF419BE77A25BA80DB561099DD4AB784732C94755BE
I adapted your test and ran the test using the same curve your key uses and the curve I used based on a guide on Akamai and the test worked once I switched to prime256v1. I started typing this issue after an hour of debugging but found the fix while collecting all the details. Is there a reason one curve would work but not another? With the right info I'd like to document it so it doesn't trip up someone else.
- Lingua principale
- Rust
- Stelle
- 2.1k
- Fork
- 367
- Merge medio
- 5g 12h
- PR unite (30g)
- 2
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
-
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 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
Keats/jsonwebtoken#297 · 19 commenti · 2 reazioni ·
Tutte le issue di Keats/jsonwebtoken
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
stellar/stellar-cli#2773 ·
I maintainer di solito rispondono entro 2 giorni
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
voidzero-dev/oxc-angular-compiler#511 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 86/100
yantrikos/yantrik-os#539 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno
-
documentation station:mac ui-dashboard
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
rolter-ai/rolter#2490 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno