Come generare una coppia di chiavi DSA per il browser

1

Come esercizio di apprendimento, sto cercando di capire e implementare un client per l'API di sincronizzazione di Firefox Accounts Browser.

Sono al punto in cui sto cercando di chiedere al server di darmi un certificato che convalida la mia chiave pubblica: link

Un esempio di come farlo può essere visto qui: link

Questo utilizza la link libreria.

Per capire esattamente cosa sta succedendo qui, sto tentando di generare la mia coppia di chiavi con la libreria crittografica node.js: link

Posso generare una coppia di chiavi, ma poi ho bisogno di formattarla appropriatamente per l'API, che richiede "y", "p", "q" e "g".

Dopo un po 'di googling, ho trovato questo riferimento a questi nomi di chiavi: link

Che sembra abbastanza chiaro, mentre il link contiene una descrizione ragionevole del significato di questi parametri.

Il problema che sto riscontrando è capire quali numeri rappresentano p, q e g quando si utilizza l'API esposta in Node.js.

jwcrypto utilizza i valori preselezionati, come mostrato qui link - sebbene non mi è chiaro come siano derivati.

Vi sono anche opzioni ragionevoli definite in RFC 5114 ( link ) - ma posso farlo per vedere come usarli con il Nodo.

D'altra parte, Node.js mi permette di preselezionare uno dei gruppi definiti in RFC 2412 o RFC 3526, ma non riesco a capire cosa sia q per questi numeri primi.

Quindi, per riassumere la mia domanda / e effettiva / e:

  • È possibile utilizzare Node.js crypto's Diffie-Hellman per generare una chiave pubblica Token Web Token valida?
  • Se sì, come farei per farlo?
  • Perché alcune liste Prime di Diffie Hellman parlano solo di p, mentre altre specificano p e q?
posta Glenjamin 24.02.2014 - 01:59
fonte

0 risposte

Leggi altre domande sui tag