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 Certificate by Email AddressSee more Cert Store ExamplesDemonstrates how to find a certificate having the specified email address either within the cert's subject email, or the RFC822 name. In an X.509 certificate, an email address can typically be located in two places:
Note: 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; readOnly: Boolean; success: Boolean; json: HCkJsonObject; email_address: PWideChar; cert: HCkCert; begin certStore := CkCertStore_Create(); // This opens the Current User certificate store on Windows, // On MacOS and iOS it opens the default Keychain. readOnly := False; success := CkCertStore_OpenCurrentUserStore(certStore,readOnly); if (success = False) then begin Memo1.Lines.Add(CkCertStore__lastErrorText(certStore)); Exit; end; // Find the certificate having the specified email address in either the RFC822 Name or in the Subject. json := CkJsonObject_Create(); email_address := 'joe@example.com'; CkJsonObject_UpdateString(json,'email',email_address); cert := CkCert_Create(); success := CkCertStore_FindCert(certStore,json,cert); if (success = True) then begin // Show the full distinguished name of the certificate. Memo1.Lines.Add('Found: ' + CkCert__subjectDN(cert)); end else begin Memo1.Lines.Add('Not found.'); end; CkCertStore_Dispose(certStore); CkJsonObject_Dispose(json); CkCert_Dispose(cert); end; |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.