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
| StoreName | O nome do arquivo de sistema do Windows ("MY", "Root", "CA", ...) |
|---|---|
| UseMachineStore | Verdadeiro para CERT_SYSTEM_STORE_LOCAL_MACHINE, falso para CERT_SYSTEM_STORE_CURRENT_USER |
| Certs | Matriz atribuída pelo chamador, preenchida com metadados do certificado até ao respetivo comprimento |
Valores devolvidos
| >= 0 | O número de certificados escritos em Certs (pode ser inferior ao tamanho do arquivo se a matriz for demasiado pequena) |
|---|