HTTPS-Zertifikatsverifizierung

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu DataSnap-Client-Anwendung


Wenn Sie einen Client entwickeln, der eine Verbindung zu einem Server mit dem HTTPS-Protokoll herstellt (wobei der Server wahrscheinlich unter IIS ausgeführt wird), dann sollten Sie in Ihren Client-Code eine Überprüfung implementieren, um das Zertifikat des Servers zu verifizieren.

Einrichten der Verbindung

Platzieren Sie zum Einrichten der HTTPS-Verbindung des Clients eine TSQLConnection-Komponente auf Ihrem Formular. Setzen Sie im Objektinspektor die Eigenschaft Driver auf DataSnap, die Eigenschaft CommunicationProtocol des Treibers auf HTTPS, die Eigenschaft URLPath des Treibers auf "IISVirtualDirectory/ServerProjectName.dll". Setzen Sie den Port und alle weiteren Verbindungsinformationen wie benötigt.

Validieren des Zertifikats

Wechseln Sie für Ihre TSQLConnection-Komponente auf die Registerseite Ereignisse des Objektinspektors, und implementieren Sie das Ereignis ValidatePeerCertificate. Dieses Ereignis hat die folgende Signatur:

procedure XValidatePeerCertificate(Owner: TObject; Certificate: TX509Certificate; const ADepth: Integer; var Ok: Boolean);

Das Zertifikat selbst ist eine TX509Certificate-Instanz, die Sie untersuchen können. Wenn Sie mit dem Zertifikat einverstanden sind, setzen Sie den Wert OK auf True, andernfalls auf False.

Die folgenden Funktionen/Prozeduren sind für Zertifikate hilfreich:

function Verify(key: TPublicKey): Boolean; 
procedure CheckValidity; 
procedure CheckValidity(ADate: TDateTime);

Weitere Informationen über TX509Certificate (in der Unit DBXCommon) finden Sie in der zugehörigen Dokumentation.

Siehe auch