Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

OpenSSL 3 support for loading engine keys

Offen
#723 3 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Anfängerfreundlichkeit
35/100
Issue-Typ
Feature
Klarheit
Größtenteils klar
Aktivitätsstatus
Veraltet
Tech-Stack
c, ruby

Rechercherichtung

Beginnen Sie mit dem Lesen von ossl_pkey.c, insbesondere von ossl_pkey_read_generic, und überprüfen Sie, wie über die im Bericht erwähnten APIs geladene OpenSSL 3-Engine-Schlüssel behandelt werden. Reproduzieren Sie den Fehler von OpenSSL::PKey.read mit einer konfigurierten benutzerdefinierten Engine und ermitteln Sie anschließend, welches unterstützte Ladeverhalten erforderlich ist, damit diese privaten Schlüssel ohne den gemeldeten PKeyError geladen werden können.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

Openssl 3 still supports loading engines and some engines still haven't migrated to using providers.
In such cases it is possible to continue using engines. They can be loaded using openssl's config file.

Previously I could load a private key(provided by custom engine) like so

  OpenSSL::PKey.read("some private key")

But now even though engine is loaded the same command returns Could not parse PKey (OpenSSL::PKey::PKeyError).

Using OpenSSL::PKey.new_raw_private_key also did not help.
Locally installing ruby/openssl and reverting ossl_pkey_read_generic in ossl_pkey.c to the previous version(before openssl 3 support) did help, but this method is not viable for production.

Is it possible to provide some way to load such keys?

Vorherrschende Sprache
C
Sterne
276
Forks
203
Ø Merge
1 T. 5 Std.
Gemergte PRs (30 T.)
10

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus ruby/openssl

Alle Issues in ruby/openssl

Ähnliche Issues

Weitere Issues zu C

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.