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_path | PFX 证书文件的完整路径（包括文件名和扩展名）， 将用于签名。这由用户从函数 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: 传递。

返回
  验证状态：
  - 请单独返回 FSSignatureStateVerifyNoChange 以指示 文档在签名范围内未被更改。
  - 否则，请单独返回 FSSignatureStateVerifyChange 或与其他错误状态值组合返回。