Como un pequeño ejercicio de aprendizaje, estoy tratando de entender e implementar un cliente para la API de sincronización del navegador de cuentas de Firefox.
Estoy en condiciones de pedirle al servidor que me dé un certificado que valide mi clave pública: link
Un ejemplo de cómo hacer esto se puede ver aquí: un
Esto utiliza la biblioteca enlace .
Para entender exactamente lo que está pasando aquí, estoy intentando generar mi par de llaves con la biblioteca criptográfica node.js: enlace
Puedo generar un par de llaves, pero luego debo formatearlo adecuadamente para la API, que solicita "y", "p", "q" y "g".
Después de un montón de googlear, he encontrado esta referencia a estos nombres clave: enlace
Lo que parece bastante claro, mientras que enlace contiene una descripción razonable del significado de estos parámetros.
El problema que tengo es averiguar qué números representan p, q y g cuando utilizo la API expuesta en Node.js.
jwcrypto usa valores preseleccionados, como se ve aquí × No me queda claro cómo se derivaron.
También parece haber opciones razonables definidas en RFC 5114 ( enlace ), pero puedo ' No veo cómo usarlos con Nodo.
Por otra parte, Node.js me permite preseleccionar uno de los grupos definidos en RFC 2412 o RFC 3526, pero no puedo averiguar qué es lo q es para estos primos.
Entonces, para resumir mi (s) pregunta (s) actual (es):
- ¿Es posible usar el Diffie-Hellman de Crypto de Node.js para generar una clave pública JSON Web Token válida?
- Si es así, ¿cómo voy a hacer esto?
- ¿Por qué algunas listas principales de Diffie Hellman hablan solo de p, mientras que otras especifican p y q?