Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Delphi DLL) Find Certificate for Email Address in Current-User Certificate Store (Windows-Only)This is a Windows-only example to find a certificate for a given email address in the current-user certificate store (located in the Windows Registry).
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Cert, CertStore; ... procedure TForm1.Button1Click(Sender: TObject); var certStore: HCkCertStore; readOnly: Boolean; success: Boolean; emailAddr: PWideChar; cert: HCkCert; begin // This is a Windows-only example because it lists the certificates // stored in the Windows Current User Certificate Store located in the // Windows Registry. certStore := CkCertStore_Create(); readOnly := True; success := CkCertStore_OpenCurrentUserStore(certStore,readOnly); if (success = False) then begin Memo1.Lines.Add(CkCertStore__lastErrorText(certStore)); Exit; end; emailAddr := 'support@chilkatsoft.com'; cert := CkCertStore_FindCertBySubjectE(certStore,emailAddr); if (CkCertStore_getLastMethodSuccess(certStore) <> True) then begin Memo1.Lines.Add('No certificate found for ' + emailAddr); Exit; end; Memo1.Lines.Add('Found: ' + CkCert__subjectDN(cert)); CkCert_Dispose(cert); // It should be case-insensitive, however it was found not to be. // The case-insensitive search is fixed starting in Chilkat v9.5.0.65. emailAddr := 'SUPPORT@chilkatsoft.com'; cert := CkCertStore_FindCertBySubjectE(certStore,emailAddr); if (CkCertStore_getLastMethodSuccess(certStore) <> True) then begin Memo1.Lines.Add('No certificate found for ' + emailAddr); Exit; end; Memo1.Lines.Add('Found: ' + CkCert__subjectDN(cert)); CkCert_Dispose(cert); CkCertStore_Dispose(certStore); end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.