![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Delphi DLL) Find a Certificate by it's SHA-1 ThumbprintSee more Cert Store ExamplesFinds a certificate by it's SHA-1 hex thumbprint.Note: This example requires Chilkat v10.1.2 or later.
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Cert, CertStore, JsonObject; ... procedure TForm1.Button1Click(Sender: TObject); var certStore: HCkCertStore; thumbprint: PWideChar; bReadOnly: Boolean; success: Boolean; json: HCkJsonObject; cert: HCkCert; certStorePem: HCkCertStore; begin certStore := CkCertStore_Create(); thumbprint := '12c1dd8015f3f03f7b1fa619dc24e2493ca8b4b2'; // This opens the Current User certificate store on Windows, // On MacOS and iOS it opens the default Keychain. bReadOnly := True; success := CkCertStore_OpenCurrentUserStore(certStore,bReadOnly); if (success = False) then begin Memo1.Lines.Add(CkCertStore__lastErrorText(certStore)); Exit; end; // Find the certificate having a specific SHA1 thumbprint. json := CkJsonObject_Create(); CkJsonObject_UpdateString(json,'thumbprint',thumbprint); cert := CkCert_Create(); success := CkCertStore_FindCert(certStore,json,cert); if (success = False) then begin Memo1.Lines.Add('Failed to find the certificate.'); Exit; end; Memo1.Lines.Add('Found: ' + CkCert__subjectCN(cert)); // ------------------------------------------------------------------------------------- // Alternatively, one could load a certificate store object with certs from a PEM file, // and do the same thing.. certStorePem := CkCertStore_Create(); success := CkCertStore_LoadPemFile(certStorePem,'pemFiles/certificates.pem'); if (success = False) then begin Memo1.Lines.Add(CkCertStore__lastErrorText(certStorePem)); Exit; end; success := CkCertStore_FindCert(certStore,json,cert); if (success = False) then begin Memo1.Lines.Add('Failed to find the certificate.'); Exit; end; Memo1.Lines.Add('Found: ' + CkCert__subjectCN(cert)); CkCertStore_Dispose(certStore); CkJsonObject_Dispose(json); CkCert_Dispose(cert); CkCertStore_Dispose(certStorePem); end; |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.