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" ...) |
|---|---|
| UseMachineStore | True для CERT_SYSTEM_STORE_LOCAL_MACHINE, False для CERT_SYSTEM_STORE_CURRENT_USER |
| Certs | Выделенный вызывающей стороной массив, заполняемый метаданными сертификата в пределах его длины |
Возвращаемые значения
| >= 0 | Количество сертификатов, записанных в Certs (может быть меньше размера хранилища, если массив слишком мал) |
|---|