ES256 errors with InvalidEcdsaKey
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Documentación
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- rust
- Área
- cryptography, security
Línea de trabajo
Compara las estructuras de clave secp256k1 y prime256v1 mostradas en el issue, comenzando por ring::io::der::expect_tag_and_get_value y la prueba adaptada que usa tests.pem. Verifica qué combinaciones de curva y algoritmo acepta la biblioteca. Se considera terminado cuando se documenten la curva compatible, el motivo por el que secp256k1 produce InvalidEcdsaKey y el ejemplo correcto de generación de claves.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- Rust
- Estrellas
- 2.1k
- Forks
- 371
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de Keats/jsonwebtoken
-
`Jwk::from_encoding_key` rejects PKCS#8 v2 (RFC 5958) Ed25519 private keysPosiblemente ocupada @ucsurf la tomó hace 17 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Keats/jsonwebtoken#544 · 1 comentario ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
Keats/jsonwebtoken#542 · 1 comentario ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
Keats/jsonwebtoken#519 · 2 comentarios ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Keats/jsonwebtoken#497 ·
-
Invalid multiple algorithm logicAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Keats/jsonwebtoken#297 · 19 comentarios · 2 reacciones ·
Todos los issues de Keats/jsonwebtoken
Issues similares
-
corro-client drops the last byte of a response line that has no trailing newlinePosiblemente ocupada @RaphaelFakhri la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
-
proxy: include denial_category in the "proxy request denied" log linePosiblemente ocupada @sreyas-endor la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
nolabs-ai/nono#2172 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
metasequoiaime/msime#9113 ·
Los mantenedores suelen responder en 1 día
-
area:desktop priority:p2 type:chore
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Los mantenedores suelen responder en 1 día
-
area: supply-chain
Dificultad 1/5 Menos de una hora Aptitud para principiantes 73/100
Los mantenedores suelen responder en 1 día