OCSP signature verification discards OpenSSL error information
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
- 35/100
- Issue-Typ
- Bug
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Bereich
- cryptography, security
Rechercherichtung
Beginne in ext/openssl/ossl_ocsp.c bei ossl_ocspreq_verify in den Zeilen 428-429 und verfolge anschließend den entsprechenden Pfad zur Antwortverifizierung. Vergleiche das Verhalten bei fehlgeschlagener Verifizierung anhand der Beispiele im Issue mit OpenSSL.errors und OpenSSL.debug. Als erledigt gilt die Aufgabe, wenn Aufrufer die OpenSSL-Fehlerinformationen nach einer fehlgeschlagenen Verifizierung von Anfrage und Antwort inspizieren können und das resultierende API-Verhalten durch Tests abgedeckt ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
In https://github.com/ruby/openssl/blob/master/ext/openssl/ossl_ocsp.c#L428-L429, ossl_ocspreq_verify does:
if (result <= 0)
ossl_clear_error();
return result > 0 ? Qtrue : Qfalse;
If the result is not successful, the error information is cleared. This makes it not available in OpenSSL.errors for inspection by the caller.
Response verification has the same issue.
To get this information, one needs to enable OpenSSL.debug prior to calling the verify method.
Example missing information:
(byebug) resp.verify([ca_cert], store)
Result: 0
false
(byebug) OpenSSL.errors
[]
(byebug) resp.verify([ca_cert], store)
Result: 0
false
(byebug) OpenSSL.errors
[]
(byebug) OpenSSL.debug=true
true
(byebug) resp.verify([ca_cert], store)
(byebug):1: warning: error on stack: error:27069065:OCSP routines:OCSP_basic_verify:certificate verify error (Verify error:self signed certificate)
Result: 0
false
(byebug) store.add_cert(ca_cert)
#<OpenSSL::X509::Store:0x00005630c0470120 @verify_callback=nil, @error=nil, @error_string=nil, @chain=nil, @time=nil>
(byebug) resp.verify [],store
(byebug):1: warning: error on stack: error:27069076:OCSP routines:OCSP_basic_verify:signer certificate not found
Result: 0
false
(byebug) resp.verify [ca_cert],store
Result: 1
true
Without the debug information, figuring out why verification failed is impractical.
One way of solving this is to provide a method like verify! which would raise an exception if verification fails, including the openssl error information into the method.
- 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
-
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
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
yanet-platform/yanet2#2874 ·
Maintainer antworten meist innerhalb von 1 Tag