Foxit PDF SDK
<FSSignatureCallback>协议 参考

继承自 <NSObject> .

构造函数

(FSSignatureCallbackCertValidity) - checkCertificateValidity:cert_password:client_data:
 用于检查证书有效性的回调函数。 更多...
 
(FSProgressiveState- continueCalcDigest:client_data:
 用于继续自定义摘要计算过程的回调函数。 更多...
 
(NSData *) - getDigest:
 用于在计算过程完成后获取摘要的回调函数。 更多...
 
(BOOL) - isNeedPadData
 当调用回调函数 FSSignatureCallback::verifySigState:signed_data:client_data: 时, 用于检查是否返回包含填充零的所有内容的回调函数。 更多...
 
(NSData *) - sign:cert_file_stream:cert_password:digest_algorithm:client_data:
 用于执行签名并返回已签名数据的回调函数。 更多...
 
(NSData *) - sign:cert_path:cert_password:digest_algorithm:client_data:
 用于执行签名并返回已签名数据的回调函数。 更多...
 
(BOOL) - startCalcDigest:byte_range_array:signature:client_data:
 用于启动自定义摘要计算的回调函数,主要用于初始化计算过程。 更多...
 
(FSSignatureStates- verifySigState:signed_data:client_data:
 用于验证签名完整性并返回验证状态的回调函数。 更多...
 

详细描述

此类表示用于签名或验证签名的回调对象。 此类中的所有纯虚函数都用作回调函数,应由用户实现, 以便以自定义方式签名或验证签名。
用户可以通过函数FSLibrary::registerSignatureCallback:sub_filter:signature_callback: 将自定义签名回调对象注册到Foxit PDF SDK,使用过滤器和子过滤器作为回调名称。

参见
FSLibrary

函数文档

◆ checkCertificateValidity:cert_password:client_data:()

- (FSSignatureCallbackCertValidity) checkCertificateValidity: (NSString *)  cert_path
cert_password: (NSString *)  cert_password
client_data: (void *)  client_data 
required

用于检查证书有效性的回调函数。

当调用函数 FSSignature::startSign:cert_password:digest_algorithm:save_path:client_data:pause: 时,将触发此回调函数。 如果不需要检查证书,可以直接返回值 FSSignatureCallbackCertValid

参数
[in]cert_pathPFX 证书文件的完整路径(包括文件名和扩展名), 将用于签名。这由用户从函数 FSSignature::startSign:cert_password:digest_algorithm:save_path:client_data:pause: 传递。
[in]cert_password用于打开证书文件的密码字符串。如果为空字符串, 表示不需要密码。这由用户从函数 FSSignature::startSign:cert_password:digest_algorithm:save_path:client_data:pause: 传递。
[in]client_data用户定义的对象,由用户从函数 FSSignature::startSign:cert_password:digest_algorithm:save_path:client_data:pause: 传递。
返回
证书有效性。请参考从 FSSignatureCallbackCertValid 开始的值, 应该是其中之一。

◆ continueCalcDigest:client_data:()

- (FSProgressiveState) continueCalcDigest: (id< FSPauseCallback >)  pause
client_data: (void *)  client_data 
required

用于继续自定义摘要计算过程的回调函数。

参数
[in]pause决定计算过程是否需要暂停的暂停对象。 如果为nil,表示在计算过程中不暂停。 如果不为nil,请检查函数FSPauseCallback::needPauseNow的返回值, 并决定何时暂停计算过程。
[in]client_data指向用户定义对象的指针,由用户从函数 FSSignature::startSign:cert_password:digest_algorithm:save_path:client_data:pause:FSSignature::startVerify:pause:传递。
返回
FSProgressiveFinished表示渲染成功完成。
FSProgressiveToBeContinued表示计算过程尚未完成, 回调函数FSSignatureCallback::continueCalcDigest:client_data: 将再次被触发以继续过程。
FSProgressiveError表示发生任何错误。

◆ getDigest:()

- (NSData *) getDigest: (void *)  client_data
required

用于在计算过程完成后获取摘要的回调函数。

此回调函数将在计算过程成功完成时被触发。

参数
[in]client_data指向用户定义对象的指针,由用户从函数 FSSignature::startSign:cert_password:digest_algorithm:save_path:client_data:pause:FSSignature::startVerify:pause:传递。
返回
摘要字符串。 如果有任何错误,请返回空字符串。

◆ isNeedPadData()

- (BOOL) isNeedPadData
required

当调用回调函数 FSSignatureCallback::verifySigState:signed_data:client_data: 时, 用于检查是否返回包含填充零的所有内容的回调函数。

返回
YES 表示返回内容流中的所有数据(包括填充零), 而 NO 表示返回不包含流末尾填充零的内容数据。

◆ sign:cert_file_stream:cert_password:digest_algorithm:client_data:()

- (NSData *) sign: (NSData *)  digest
cert_file_stream: (id< FSFileStreamCallback >)  cert_file_stream
cert_password: (NSString *)  cert_password
digest_algorithm: (FSSignatureDigestAlgorithm digest_algorithm
client_data: (void *)  client_data 
required

用于执行签名并返回已签名数据的回调函数。

主机应用程序为自定义签名机制提供此回调函数。 此回调函数将在签名过程中被触发。

参数
[in]digest摘要数据缓冲区,用于待签名的源文件缓冲区。
[in]cert_file_stream用于签名的证书文件流。
[in]cert_password用于打开证书文件的密码字符串。如果为空字符串, 表示不需要密码。
[in]digest_algorithm已签名数据的消息摘要算法。请参考从 FSSignatureDigestSHA1 开始的值,这将是其中之一。
[in]client_data用户定义的对象,由用户从函数 FSSignature::startSign:cert_password:digest_algorithm:save_path:client_data:pause:FSSignature::startVerify:pause: 传递。
返回
已签名的数据。如果有任何错误,请返回空字符串。
返回的已签名数据的长度应在签名内容的默认长度内, 默认为7942,或由函数 FSSignature::setDefaultContentsLength: 在签名未签名的签名之前指定。

◆ sign:cert_path:cert_password:digest_algorithm:client_data:()

- (NSData *) sign: (NSData *)  digest
cert_path: (NSString *)  cert_path
cert_password: (NSString *)  cert_password
digest_algorithm: (FSSignatureDigestAlgorithm digest_algorithm
client_data: (void *)  client_data 
required

用于执行签名并返回已签名数据的回调函数。

宿主应用程序为自定义签名机制提供此回调函数。 此回调函数将在签名签名过程中被触发。

参数
[in]digest摘要数据缓冲区,用于要签名的源文件缓冲区。
[in]cert_path将用于签名的证书文件路径。
[in]cert_password用于打开证书文件的密码字符串。如果是空字符串, 表示不需要密码。
[in]digest_algorithm签名数据的消息摘要算法。请参阅从FSSignatureDigestSHA1开始的值, 并且应该是这些值之一。
[in]client_data指向用户定义对象的指针,由用户从函数 FSSignature::startSign:cert_password:digest_algorithm:save_path:client_data:pause:FSSignature::startVerify:pause:传递。
返回
已签名的数据。如果有任何错误,请返回空字符串。
返回的已签名数据的长度应在签名内容的默认长度之内, 默认为7942,或在签名未签名签名之前由函数FSSignature::setDefaultContentsLength:指定。

◆ startCalcDigest:byte_range_array:signature:client_data:()

- (BOOL) startCalcDigest: (id< FSFileReaderCallback >)  file
byte_range_array: (NSArray< NSNumber * > *)  byte_range_array
signature: (FSSignature *)  signature
client_data: (void *)  client_data 
required

用于启动自定义摘要计算的回调函数,主要用于初始化计算过程。

参数
[in]file签名签名时,这表示要签名的源文件对象。
验证签名字段时,这表示要验证的源文件对象。
[in]byte_range_array已签名文档(而不是源文档)的字节范围数组。
此数组中的元素总是成对的偏移-大小值,顺序为: offset,size,offset,size...
[in]signature一个签名对象。
[in]client_data指向用户定义对象的指针,由用户从函数 FSSignature::startSign:cert_password:digest_algorithm:save_path:client_data:pause:FSSignature::startVerify:pause:传递。
返回
YES表示计算过程成功启动,然后 FSSignatureCallback::continueCalcDigest:client_data:将被触发以继续计算过程。 NO表示无法启动计算过程。

◆ verifySigState:signed_data:client_data:()

- (FSSignatureStates) verifySigState: (NSData *)  digest
signed_data: (NSData *)  signed_data
client_data: (void *)  client_data 
required

用于验证签名完整性并返回验证状态的回调函数。

主机应用程序为自定义签名机制提供此回调函数。 此回调函数将在签名验证过程中被触发。
从7.0版本开始,此回调函数仅用于验证签名的完整性。 请查看返回值的注释以获取更多详细信息。

参数
[in]digest摘要数据缓冲区,用于待验证的源文件缓冲区。
[in]signed_data已签名的数据缓冲区。
[in]client_data指向用户定义对象的指针,由用户从函数 FSSignature::startSign:cert_password:digest_algorithm:save_path:client_data:pause:FSSignature::startVerify:pause: 传递。
返回
验证状态: