Sample code for 30+ languages & platforms
Delphi ActiveX Requires Chilkat v11.0.0+

Verify SSL Server Certificate

See more Socket/SSL/TLS Examples

Demonstrates how to connect to an SSL server and verify its SSL certificate.

Chilkat Delphi ActiveX Downloads

Delphi ActiveX
var
success: Integer;
socket: TChilkatSocket;
ssl: Integer;
maxWaitMillisec: Integer;
sslServerHost: WideString;
sslServerPort: Integer;
cert: TChilkatCert;
bExpired: Integer;
bRevoked: Integer;
bSignatureVerified: Integer;
bTrustedRoot: Integer;

begin
success := 0;

//  This example requires the Chilkat API to have been previously unlocked.
//  See Global Unlock Sample for sample code.

socket := TChilkatSocket.Create(Self);

ssl := 1;
maxWaitMillisec := 20000;

//  The SSL server hostname may be an IP address, a domain name,
//  or "localhost". 

sslServerHost := 'www.paypal.com';
sslServerPort := 443;

//  Connect to the SSL server:
success := socket.Connect(sslServerHost,sslServerPort,ssl,maxWaitMillisec);
if (success = 0) then
  begin
    Memo1.Lines.Add(socket.LastErrorText);
    Exit;
  end;

cert := TChilkatCert.Create(Self);

success := socket.GetServerCert(cert.ControlInterface);
if (success <> 0) then
  begin

    Memo1.Lines.Add('Server Certificate:');
    Memo1.Lines.Add('Distinguished Name: ' + cert.SubjectDN);
    Memo1.Lines.Add('Common Name: ' + cert.SubjectCN);
    Memo1.Lines.Add('Issuer Distinguished Name: ' + cert.IssuerDN);
    Memo1.Lines.Add('Issuer Common Name: ' + cert.IssuerCN);

    bExpired := cert.Expired;
    bRevoked := cert.Revoked;
    bSignatureVerified := cert.SignatureVerified;
    bTrustedRoot := cert.TrustedRoot;

    Memo1.Lines.Add('Expired: ' + IntToStr(Ord(bExpired)));
    Memo1.Lines.Add('Revoked: ' + IntToStr(Ord(bRevoked)));
    Memo1.Lines.Add('Signature Verified: ' + IntToStr(Ord(bSignatureVerified)));
    Memo1.Lines.Add('Trusted Root: ' + IntToStr(Ord(bTrustedRoot)));

  end;

//  Close the connection with the server
//  Wait a max of 20 seconds (20000 millsec)
success := socket.Close(20000);