Vérification du certificat HTTPS
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.