SetSignProcessCertFromStoreByHandle

安全和签名

描述

通过外部获取的原始 PCCERT_CONTEXT 句柄(通常来自 EnumCertificates 后接 CertDuplicateCertificateContext)为签名过程选择签名证书;这绕过了 SetSignProcessCertFromStore 执行的按 Subject-CN 查找,允许调用者根据任何标准(合格的过滤器、有效期窗口、指纹)选择证书

句柄生命周期必须长于签名过程(调用者拥有它,并且必须在 EndSignProcess 完成后通过 CertFreeCertificateContext 将其释放)

语法

Delphi

Function TPDFlib.SetSignProcessCertFromStoreByHandle(SignProcessID: Integer; CertHandle: Pointer): Integer;

参数

SignProcessID来自 NewSignProcessFromFile/Stream/String 的签名进程 ID
CertHandle从 EnumCertificates.CertHandle 获取并通过 CertDuplicateCertificateContext 复制的 PCCERT_CONTEXT(作为 Pointer 指针)

返回值

0未找到签名进程或句柄为 nil
1证书句柄已绑定到签名过程