Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

JWK to RSA key translation

Ouverte
#551 2 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
5/5
Temps estimé
Plus d'une semaine
Accessibilité débutants
30/100
Type d'issue
Fonctionnalité
Clarté
À clarifier
Activité
À l'abandon
Stack technique
ruby
Domaine
cryptography

Piste de recherche

Commencez par lire l’issue d’origine liée (#523), la spécification JWK dans RFC 7517 et la structure de clé privée dans RFC 3447. Étudiez ensuite l’API OpenSSL 3 permettant de construire des clés RSA à partir des paramètres de module et d’exposant ; le travail est terminé lorsqu’une méthode prise en charge pour gérer les JWK privés qui omettent les valeurs CRT a été établie.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Hey there :)

We were having a bit of trouble generating RSA keys from JSON Web Keys (JWK, RFC 7517).
Linking the original issue: https://github.com/jwt/ruby-jwt/issues/523

We had this working fine with earlier versions of OpenSSL, where we were able to use functions like set_key on a new instance of OpenSSL::PKey::RSA.
With OpenSSL 3 the API has changed though, so this is no longer an option.
We are looking for guidance on how to implement parsing an (especially private) RSA key from the parameters alone.

A temporary solution we had consisted of parsing the key into ASN.1, then have it exported as DER and read by this gem, but the problem we are facing with this solution is that a private RSA JWK may in some cases only include the modulus and both exponents, rather than all CRT values present in the RFC 3447 ASN.1 description of a private key.

I apologize in advance, should I have overlooked some obvious API functionality. If you have some pointers for us, please let us know :)

Langage dominant
C
Étoiles
276
Forks
203
Merge moyen
1 j 41 min
PR mergées (30 j)
8

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de ruby/openssl

Toutes les issues de ruby/openssl

Issues similaires

Plus d'issues C

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.