access to raw public key, or keyid
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 30/100
- Issue-Typ
- Feature
- Klarheit
- Muss geklärt werden
- Aktivitätsstatus
- Veraltet
- Bereich
- cryptography
Rechercherichtung
Überprüfe OpenSSL::PKey::EC#to_text, #to_der und den im Issue beschriebenen Ansatz mit OpenSSL::ASN1.decode. Untersuche anschließend openssl/crypto/x509v3/v3_skey.c auf die bestehende Berechnung der Schlüsselkennung. Entscheide, ob eine Ruby- oder C-API den codierten öffentlichen Schlüssel oder keyid bereitstellen sollte, und bestätige, dass das Ergebnis RFC 5280 Abschnitt 4.2.1.2 entspricht, ohne Text zurück in Binärdaten umzuwandeln.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
RFC5280, section 4.2.1.2 defines keyid as the SHA1 of the subjectPublicKey encoding.
OpenSSL::PKey::EC's to_text
reveals the public key info via an OpenSSL method that produces text. This is the input that we need for the SHA1, and I guess I could decode the text back to binary if I had to, but this seems really wrong....
While there is some code in openssl/crypto/x509v3/v3_skey.c that calculates what I want, it's buried inside an extension definition, and can't (AFAIK) be used directly.
I can get what I want via:
a1 = OpenSSL::ASN1.decode(pubkey.to_der)
a1.value[1].value
but that just seems wrong. Is there another way to pull the encoded public key out?
Should getting this keyid be ruby or C code?
- Vorherrschende Sprache
- C
- Sterne
- 276
- Forks
- 200
- Ø Merge
- 15 Std. 27 Min.
- Gemergte PRs (30 T.)
- 7
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus ruby/openssl
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
ruby/openssl#1116 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 55/100
ruby/openssl#1118 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Expose XOFs like SHAKE128 and SHAKE256Evtl. vergeben @rhenium hat das vor 89 Tagen übernommen. Offen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 48/100
ruby/openssl#1082 · 4 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
ruby/openssl#1075 · 4 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
Unchecked *_set_* callsEvtl. vergeben @ndossche hat das vor 159 Tagen übernommen. Offen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
ruby/openssl#1038 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 67/100
DarkFlippers/qUnleashed#240 ·
Maintainer antworten meist innerhalb von 1 Tag
-
enhancement
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
HarbourMasters/Shipwright#7320 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
FujiNetWIFI/fujinet-firmware#1834 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Bug Status: Needs Triage
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
Maintainer antworten meist innerhalb von 1 Tag