Delphi DLL
Delphi DLL
Iterate over Certificates in a Certificate Store
See more Cert Store Examples
Demonstrates how to iterate over the certificates in a certificate store.Note: Requires Chilkat v10.1.2 or later.
Chilkat Delphi DLL Downloads
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
success: Boolean;
certStore: HCkCertStore;
readOnly: Boolean;
cert: HCkCert;
numCerts: Integer;
i: Integer;
begin
success := False;
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;
cert := CkCert_Create();
numCerts := CkCertStore_getNumCertificates(certStore);
i := 0;
while (i < numCerts) do
begin
// Load the cert object with the Nth certificate.
CkCertStore_GetCert(certStore,i,cert);
Memo1.Lines.Add(IntToStr(i) + ': ' + CkCert__subjectCN(cert));
i := i + 1;
end;
CkCertStore_Dispose(certStore);
CkCert_Dispose(cert);
end;