EnumCertificates

Zabezpečení a podpisy

Popis

Vypočte každý certifikát ve Windows systémovém certificate store a vrátí jeho metadata. Každá položka nese jednoduché zobrazované názvy Subject a Issuer, sériové číslo (hex velkými písmeny, MSB první), platnostní okno NotBefore/NotAfter, příznak HasPrivateKey (nutný pro podepisování), příznak Qualified (true, když certifikát nese rozšíření eIDAS QCStatements, OID 0.4.0.1862.1.7, zjištěné vestavěným DER dekodérem) a CertHandle (surový PCCERT_CONTEXT)

CertHandle platí jen po dobu volání; volající, kteří si chtějí handle ponechat pro pozdější podepisování, ho musí duplikovat přes CertDuplicateCertificateContext a pak předat do SetSignProcessCertFromStoreByHandle

Syntaxe

Delphi

Function TPDFlib.EnumCertificates(Const StoreName: WideString; UseMachineStore: Boolean; Var Certs: Array Of TPDFlibCertificateInfo): Integer;

Parametry

StoreNameNázev systémového store ve Windows ("MY", "Root", "CA", ...)
UseMachineStoreTrue for CERT_SYSTEM_STORE_LOCAL_MACHINE, False for CERT_SYSTEM_STORE_CURRENT_USER
CertsPole alokované volajícím, které se do své délky zaplní metadaty certifikátu