SetExternalDigestSignCallback
安全和签名
描述
注册 DLL 或 ActiveX 外部摘要签名流程使用的同步回调
语法
ActiveX
Function PDFlib::SetExternalDigestSignCallback(Callback As Object) As Long
DLL
int DLSetExternalDigestSignCallback(int InstanceID, void* Callback, void* UserData);
int __stdcall Callback(int SignProcessID, const char* Digest, int DigestLength, int DigestAlgorithm, int SignatureAlgorithm, char* Signature, int SignatureCapacity, void* UserData);
参数
| Callback | 公开 SignDigest 的 ActiveX 对象,或使用上方所示签名的 DLL 函数指针 |
|---|---|
| UserData | 在每次回调中原样传回的不透明 DLL 值 |
回调约定
ActiveX 对象方法为 SignDigest(SignProcessID, Digest, DigestAlgorithm, SignatureAlgorithm),并返回包含原始签名的字节数组变体
DLL 回调最多写入 SignatureCapacity 个字节,并返回写入的数量;失败时返回非正值
DigestAlgorithm 使用 SetSignProcessDigestAlgorithm 代码,SignatureAlgorithm 使用 SetSignProcessExternalDigestSigner 所记录的外部签名格式代码
回调仅接收固定长度的摘要,绝不会接收 PDF 字节范围或已验证属性字节
返回值
| 1 | 回调注册已更新 |
|---|---|
| 0 | DLL 实例无效 |