SetSignProcessExternalDigestSigner

安全和签名

描述

将 DER 编码的 X.509 证书和外部摘要签名格式附加到 PDF 签名流程

库构建分离的 CMS 对象,并只将其已认证属性的最终摘要发送给注册回调

语法

Delphi

Function TPDFlib.SetSignProcessExternalDigestSigner(SignProcessID: Integer; Const CertificateDER: AnsiString; SignatureAlgorithm, SignatureReserveBytes: Integer): Integer;

ActiveX

Function PDFlib::SetSignProcessExternalDigestSigner(SignProcessID As Long, CertificateDER As Variant, SignatureAlgorithm As Long, SignatureReserveBytes As Long) As Long

DLL

int DLSetSignProcessExternalDigestSigner(int InstanceID, int SignProcessID, const char* CertificateDER, int CertificateLength, int SignatureAlgorithm, int SignatureReserveBytes);

参数

SignProcessID由 NewSignProcessFrom* 函数返回的值
CertificateDER与外部私钥对应的完整 DER 编码 RSA 或 ECDSA X.509 证书
SignatureAlgorithm1 表示 RSA PKCS#1 v1.5,2 表示 DER 编码的 ECDSA,3 表示 ECDSA P1363 r || s
SignatureReserveBytes原始签名的预期上限,或使用 0 从证书公钥推导该上限

返回值

1已附加外部身份配置
0进程 ID、证书、算法或保留大小无效

备注

在结束签名流程前,分配 OnExternalDigestSign,调用 DLSetExternalDigestSignCallback,或通过 SetExternalDigestSignCallback 提供 ActiveX 回调对象

调整 /Contents 占位符大小时不会调用回调,最终签名时恰好调用一次

在接受 PDF 前,会依据 CertificateDER 验证返回的签名字节

当进程仍使用旧版 adbe.pkcs7.sha1 默认值时,此方法会自动选择 adbe.pkcs7.detached

另请参阅

OnExternalDigestSign、SetExternalDigestSignCallback、SetSignProcessContentsEstimate、SetSignProcessExternalDigestSignerFromFile