EnumCertificates

Безопасность и подписи

Описание

Перечисляет каждый сертификат в системном хранилище сертификатов Windows и возвращает его метаданные; каждая запись содержит краткие отображаемые имена Subject и Issuer, серийный номер (в верхнем регистре в шестнадцатеричном формате, сначала MSB), период действия NotBefore/NotAfter, флаг HasPrivateKey (требуется для подписания), флаг Qualified (истинно, когда сертификат содержит расширение eIDAS QCStatements, OID 0.4.0.1862.1.7, обнаруженное через встроенный декодер DER) и CertHandle (сырой PCCERT_CONTEXT)

CertHandle действителен только на время вызова; чтобы сохранить дескриптор для последующего подписания, продублируйте его через CertDuplicateCertificateContext и передайте в SetSignProcessCertFromStoreByHandle

Синтаксис

Delphi

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

Параметры

StoreNameИмя системного хранилища Windows (например, "MY", "Root", "CA" ...)
UseMachineStoreTrue для CERT_SYSTEM_STORE_LOCAL_MACHINE, False для CERT_SYSTEM_STORE_CURRENT_USER
CertsВыделенный вызывающей стороной массив, заполняемый метаданными сертификата в пределах его длины

Возвращаемые значения

>= 0Количество сертификатов, записанных в Certs (может быть меньше размера хранилища, если массив слишком мал)