AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Corona-App mit Delphi und fehlende Zertifikatsprüfung
Thema durchsuchen
Ansicht
Themen-Optionen

Corona-App mit Delphi und fehlende Zertifikatsprüfung

Ein Thema von Bbommel · begonnen am 2. Apr 2020 · letzter Beitrag vom 3. Apr 2020
Antwort Antwort
Rollo62

Registriert seit: 15. Mär 2007
4.240 Beiträge
 
Delphi 12 Athens
 
#1

AW: Corona-App mit Delphi und fehlende Zertifikatsprüfung

  Alt 3. Apr 2020, 07:05
Interessante Frage.
Der Event liefert dies als Zertifikats-Daten
http://docwiki.embarcadero.com/Libra...t.TCertificate

Wie holt man sich denn daraus den Fingerprint, muss ich das gesondert in einem HTTP-Request machen, oder steht Alles zur Verifikation schon hier in dem Record drin ?

Falls man irgendwas holen muss, ich bin ja während der Abfrage noch im OnValidateServerCertificate Event, und kann das nicht asynchron machen.

Oder bekomme ich den richtigen Fingerprint irgendwie lokal vom OS geliefert ?
Ich denke bei iOS/Android wird es da (wie immer) ziemliche Hürden geben.
  Mit Zitat antworten Zitat
slemke76

Registriert seit: 29. Mär 2005
Ort: Quakenbrück
146 Beiträge
 
#2

AW: Corona-App mit Delphi und fehlende Zertifikatsprüfung

  Alt 3. Apr 2020, 07:46
Guten Morgen,

das kann ich dir leider nicht ohne weiteres beantworten, aber bei einem schnellen Blick kommt bei System.Net.URLClient.TCertificate ja nicht allzuviel zurück.
Ich benutze (bereits seit Jahren) die Secureblackbox Komponenten. Auch dort gibt es ein .OnCertificateValidate - die Funktion, die aufgerufen wird, hat folgende Parameter:

Delphi-Quellcode:
procedure TMyClass.SSLHandlerCertificateValidate(
  Sender: TObject; Certificate: TElX509Certificate; var Validity: TSBCertificateValidity; var Reason: TSBCertificateValidityReason);
In dem Event empfiehlt der Hersteller, die (SecureBlackbox) Funktion "TElX509CertificateValidator" zu nutzen. Die stellt sicher, dass die Zertifikatskette gültig ist und kein Zertifikat zurück gerufen worden ist - es wird also auch die CRL abgerufen - haben wir noch gar nicht erwähnt, ist aber auch wichtig!

Wenn du die Eigenschaften des Zertifikates (also ob es sich genau um *dieses eine* Zertifikat handelt) prüfen möchtest, brauchst du "TElX509CertificateValidator" im Prinzip nicht, die notwendigen Daten sind in dem Certificate-Objekt enthalten.

Du musst für dich erst einmal eine Grundsatzentscheidung treffen, wie du die Kommunikation sichern willst:
1. Willst du "nur" eine gültige Kette sicherstellen?
2. Willst du auf ein bestimmtes Zertifikat prüfen (ggf. in Ergänzung zu 1.)
3. Was willst du in der Zertifikatskette prüfen?


Quellen:
https://www.secureblackbox.com/kb/he...evalidate.html
https://www.secureblackbox.com/kb/he...validator.html

Grüße
Sebastian

Nachtrag:
Ich meine, dass das OnCertificateValidate Event bei den Secureblackbox Komponenten mehrfach gefeuert wird - für jedes Zertifikat in der Kette. Ganz 100% bin ich mir aber nicht mehr.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:31 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz