EnumCertificates

Segurança e assinaturas

Descrição

Enumera todos os certificados dum arquivo de certificados do sistema Windows e devolve os respetivos metadados. Cada entrada contém os nomes de apresentação simples de Subject e Issuer, o número de série (hexadecimal em maiúsculas, MSB primeiro), a janela de validade NotBefore/NotAfter, um sinalizador HasPrivateKey (necessário para assinar), um sinalizador Qualified (true quando o certificado contém a extensão eIDAS QCStatements, OID 0.4.0.1862.1.7, detetada através dum descodificador DER integrado) e um CertHandle (o PCCERT_CONTEXT em bruto)

CertHandle só é válido durante a chamada; os chamadores que pretendam manter um identificador para assinatura posterior têm de o duplicar através de CertDuplicateCertificateContext e, em seguida, passá-lo a SetSignProcessCertFromStoreByHandle

Sintaxe

Delphi

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

Parâmetros

StoreNameO nome do arquivo de sistema do Windows ("MY", "Root", "CA", ...)
UseMachineStoreVerdadeiro para CERT_SYSTEM_STORE_LOCAL_MACHINE, falso para CERT_SYSTEM_STORE_CURRENT_USER
CertsMatriz atribuída pelo chamador, preenchida com metadados do certificado até ao respetivo comprimento

Valores devolvidos

>= 0O número de certificados escritos em Certs (pode ser inferior ao tamanho do arquivo se a matriz for demasiado pequena)