Vérification du certificat HTTPS

De RAD Studio
Aller à : navigation, rechercher

Remonter à Application Client DataSnap


Si vous développez un client qui se connectera à un serveur en utilisant le protocole HTTPS (où le serveur fonctionne très probablement sous IIS,) vous voudrez alors implémenter un contrôle dans votre code client pour vérifier le certificat du serveur.

Configuration de la connexion

Pour configurer la connexion HTTPS du client, déposez sur votre fiche un composant TSQLConnection. Dans l'inspecteur d'objets, définissez la propriété Driver sur DataSnap, la propriété CommunicationProtocol du driver sur HTTPS, la propriété URLPath du driver sur "IISVirtualDirectory/ServerProjectName.dll". Définissez le port et toutes les autres informations de connexion selon les besoins.

Validation du certificat

Sur votre TSQLConnection, accédez à l'onglet Evénements dans l'inspecteur d'objets et implémentez l'événement ValidatePeerCertificate. Cet événement a la signature suivante :

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

Le certificat lui-même est une instance de TX509Certificate que vous pouvez inspecter. Définissez ensuite la valeur de Ok sur True si vous êtes satisfait avec le certificat, False sinon.

Vous pouvez trouver utiles ces fonctions / procédures sur le certificat :

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

Pour de plus amples informations sur le TX509Certificate, qui réside dans l'unité DBXCommon, voir la documentation correspondante.

Voir aussi