SetSignProcessCNGKeyByHandle
安全和签名
描述
将调用方拥有的 NCRYPT_KEY_HANDLE 及其 DER 编码的 X.509 证书附加到 PDF 签名过程
此路径支持使用由特定于应用程序的发现、策略或云提供程序代码打开的密钥,而无需按名称重新打开密钥
语法
Delphi
Function TPDFlib.SetSignProcessCNGKeyByHandle(SignProcessID: Integer; Const CertificateDER: AnsiString; KeyHandle: TPLIntPtr; AllowUI: Boolean): Integer;
参数
| CertificateDER | 与密钥对应的完整 DER 编码 RSA 或 ECDSA X.509 证书 |
|---|---|
| KeyHandle | 打开 NCRYPT_KEY_HANDLE,将其表示为 TPLIntPtr |
| AllowUI | True 表示允许签名期间与提供程序交互 |
返回值
| 1 | 借用的句柄已附加到过程 |
|---|---|
| 0 | 进程 ID、证书或句柄无效 |
备注
调用方保留所有权,并且必须保持句柄有效,直到 EndSignProcessTo* 完成
库会在签名前查询 NCrypt 算法组,并使用提供的证书验证已完成的 CMS 签名
此按句柄传参的 API 仅适用于 Delphi;DLL 和 ActiveX 调用方应使用提供程序和密钥名称 API