Pascal (Lazarus/Delphi)
Pascal (Lazarus/Delphi)
X509Certificate GetCertHash SHA256
See more Certificates Examples
Shows how to get the SHA256 hash of a certificate.Chilkat Pascal (Lazarus/Delphi) Downloads
program ChilkatDemo;
// Demonstrates using the Chilkat Pascal wrapper via the C bridge DLL.
// Builds as a console application under Lazarus (FPC) or Delphi.
{$IFDEF FPC}
{$MODE DELPHI}
{$ENDIF}
{$APPTYPE CONSOLE}
uses
{$IFDEF UNIX}
cthreads,
{$ENDIF}
SysUtils,
CkDllLoader,
Chilkat.Cert,
Chilkat.BinData;
// ---------------------------------------------------------------------------
procedure RunDemo;
var
success: Boolean;
cert: TCert;
bdDer: TBinData;
certHash: string;
begin
success := False;
cert := TCert.Create;
// Load a certificate object with a certificate.
// The certificate object could have come from any source,
// or perhaps was obtained from another Chilkat function.
// The source does not matter. What matters is that we have
// a cert object loaded with the certificate..
success := cert.LoadFromFile('qa_data/certs/cert_test123.cer');
if (success <> True) then
begin
WriteLn(cert.LastErrorText);
Exit;
end;
// Get the binary DER of the certificae, and compute the SHA256 hash:
bdDer := TBinData.Create;
cert.ExportCertDerBd(bdDer);
// Get the base64 representation of the SHA256 hash.
certHash := bdDer.GetHash('sha256','base64');
WriteLn('Certificate hash in base64 = ' + certHash);
cert.Free;
bdDer.Free;
end;
// ---------------------------------------------------------------------------
begin
try
RunDemo;
except
on E: Exception do
WriteLn('Unhandled exception: ', E.ClassName, ': ', E.Message);
end;
WriteLn;
{$IFDEF MSWINDOWS}
WriteLn('Press Enter to exit...');
ReadLn;
{$ENDIF}
end.