Foxit PDF SDK

构造函数 | 所有成员列表
<FSCustomSecurityCallback>协议 参考
类 <FSCustomSecurityCallback> 继承关系图:

## 构造函数
(void *) | - createContext:sub_filter:encrypt_info:
| 用于为加密和解密创建上下文的回调函数。 更多...
(NSData *) | - decryptData:encrypted_data:encrypted_data_len:
| 用于解密加密数据的回调函数。 更多...
(BOOL) | - encryptData:obj_num:gen_num:src_data:src_data_len:out_dst_buffer:out_dst_buffer_len:
| 用于获取加密数据的回调函数。 更多...
(NSData *) | - finishDecryptor:
| 用于完成解密的回调函数。 更多...
(FSSecurityHandlerCipherType) | - getCipher:
| 用于获取密码类型的回调函数。 更多...
(unsigned int) | - getDecryptedSize:src_data_size:
| 用于获取估计的解密数据大小的回调函数。 更多...
(unsigned int) | - getEncryptedSize:obj_num:gen_num:src_data:src_data_len:
| 用于获取估计的加密大小的回调函数。 更多...
(NSData *) | - getEncryptKey:
| 用于获取加密密钥的回调函数。 更多...
(unsigned int) | - getUserPermissions:user_permission:
| 用于获取用户权限的回调函数。 更多...
(BOOL) | - isOwner:
| 用于检查当前用户是否是PDF文档所有者的回调函数。 更多...
(BOOL) | - releaseContext:
| 用于释放加密和解密上下文的回调函数。 更多...
(void *) | - startDecryptor:obj_num:gen_num:
| 用于启动解密的回调函数。 更多...
(BOOL) | - useStandardCryptoMethod:
| 用于检查是否使用标准加密方法或自定义加密方法的回调函数。 更多...
构造函数 继承自 <FSSecurityCallback>
(FSPDFDocEncryptType) | - GetSecurityType
| 获取安全回调的加密类型。 更多...

## 详细描述

此类表示用于自定义解密和加密的回调对象。如果用户想要使用 自定义安全回调，用户应该继承此回调类并实现纯虚函数（作为回调函数）， 然后通过函数FSLibrary::registerSecurityCallback:callback:将自定义安全回调对象 注册到Foxit PDF SDK，使用任何自定义过滤器名称（遵循PDF名称约定）。 可以调用函数FSLibrary::unregisterSecurityCallback:来注销具有已注册过滤器名称的 安全回调对象。

## 函数文档

## ◆ createContext:sub_filter:encrypt_info:()

- (void *) createContext: |  | (NSString *) | filter
sub_filter: |  | (NSString *) | sub_filter
encrypt_info: |  | (NSString *) | encrypt_info
| required

用于为加密和解密创建上下文的回调函数。

参数

  [in] | filter | 自定义安全回调对象的过滤器名称。
  [in] | sub_filter | 指定加密字典内容语法的子过滤器名称。
  [in] | encrypt_info | PDF文档的加密信息。

注解
  用户应该实现此回调函数。

返回
  加密上下文。

## ◆ decryptData:encrypted_data:encrypted_data_len:()

- (NSData*) decryptData: |  | (void *) | decryptor
encrypted_data: |  | (void *) | encrypted_data
encrypted_data_len: |  | (unsigned int) | encrypted_data_len
| required

用于解密加密数据的回调函数。

参数

  [in] | decryptor | 由用户实现和创建的解密器，由回调函数 FSCustomSecurityCallback::startDecryptor:obj_num:gen_num:返回。
  [in] | encrypted_data | 存储加密数据的缓冲区。
  [in] | encrypted_data_len | 加密数据的长度，以字节为单位。

注解
  用户应该实现此回调函数。

返回
  解密后的数据内容。

## ◆ encryptData:obj_num:gen_num:src_data:src_data_len:out_dst_buffer:out_dst_buffer_len:()

- (BOOL) encryptData: |  | (void *) | context
obj_num: |  | (int) | obj_num
gen_num: |  | (int) | gen_num
src_data: |  | (void *) | src_data
src_data_len: |  | (unsigned int) | src_data_len
out_dst_buffer: |  | (void *) | out_dst_buffer
out_dst_buffer_len: |  | (unsigned int *) | out_dst_buffer_len
| required

用于获取加密数据的回调函数。

参数

  [in] | context | 加密和解密的上下文，由回调函数 FSCustomSecurityCallback::createContext:sub_filter:encrypt_info:返回。
  [in] | obj_num | PDF对象的对象编号。
  [in] | gen_num | PDF对象的生成编号。
  [in] | src_data | 存储要加密的明文的缓冲区。
  [in] | src_data_len | 缓冲区的长度。
  [out] | out_dst_buffer | 用于接收加密内容的输出参数。
  [out] | out_dst_buffer_len | 用于接收加密数据长度的输出参数。

注解
  用户应该实现此回调函数。

返回
  YES表示成功，而NO表示失败。

## ◆ finishDecryptor:()

- (NSData *) finishDecryptor: |  | (void *) | decryptor |
| required

用于完成解密的回调函数。

参数

  [in] | decryptor | 由用户实现和创建的解密器，由回调函数 FSCustomSecurityCallback::startDecryptor:obj_num:gen_num:返回。

注解
  用户应该实现此回调函数。

返回
  解密后的数据内容。

## ◆ getCipher:()

- (FSSecurityHandlerCipherType) getCipher: |  | (void *) | context |
| required

用于获取密码类型的回调函数。

参数

  [in] | context | 加密和解密的上下文，由回调函数 FSCustomSecurityCallback::createContext:sub_filter:encrypt_info:返回。

注解
  用户应该实现此回调函数。

返回
  密码类型。请参阅从FSSecurityHandlerCipherNone开始的值， 并且应该是这些值之一。

## ◆ getDecryptedSize:src_data_size:()

- (unsigned int) getDecryptedSize: |  | (void *) | context
src_data_size: |  | (unsigned int) | src_data_size
| required

用于获取估计的解密数据大小的回调函数。

参数

  [in] | context | 加密和解密的上下文，由回调函数 FSCustomSecurityCallback::createContext:sub_filter:encrypt_info:返回。
  [in] | src_data_size | 要解密的源数据的大小。

注解
  用户应该实现此回调函数。

返回
  估计的解密数据大小。

## ◆ getEncryptedSize:obj_num:gen_num:src_data:src_data_len:()

- (unsigned int) getEncryptedSize: |  | (void *) | context
obj_num: |  | (int) | obj_num
gen_num: |  | (int) | gen_num
src_data: |  | (void *) | src_data
src_data_len: |  | (unsigned int) | src_data_len
| required

用于获取估计的加密大小的回调函数。

参数

  [in] | context | 加密和解密的上下文，由回调函数 FSCustomSecurityCallback::createContext:sub_filter:encrypt_info:返回。
  [in] | obj_num | PDF对象的对象编号。
  [in] | gen_num | PDF对象的生成编号。
  [in] | src_data | 存储要加密的明文的缓冲区。
  [in] | src_data_len | 缓冲区的长度。

注解
  用户应该实现此回调函数。

返回
  估计的加密大小。

## ◆ getEncryptKey:()

- (NSData *) getEncryptKey: |  | (void *) | context |
| required

用于获取加密密钥的回调函数。

参数

  [in] | context | 加密和解密的上下文，由回调函数 FSCustomSecurityCallback::createContext:sub_filter:encrypt_info:返回。

注解
  用户应该实现此回调函数。

返回
  加密密钥。

## ◆ getUserPermissions:user_permission:()

- (unsigned int) getUserPermissions: |  | (void *) | context
user_permission: |  | (FSPDFDocUserPermissions) | user_permission
| required

用于获取用户权限的回调函数。

参数

  [in] | context | 加密和解密的上下文，由回调函数 FSCustomSecurityCallback::createContext:sub_filter:encrypt_info:返回。
  [in] | user_permission | 文档的原始权限设置。请参阅从FSPDFDocPermPrint开始的值， 并且将是这些值中的一个或多个的组合。

注解
  用户应该实现此回调函数。

返回
  新的用户权限。请参阅从FSPDFDocPermPrint开始的值， 并且应该是这些值中的一个或多个的组合。

## ◆ isOwner:()

- (BOOL) isOwner: |  | (void *) | context |
| required

用于检查当前用户是否是PDF文档所有者的回调函数。

参数

  [in] | context | 加密和解密的上下文，由回调函数 FSCustomSecurityCallback::createContext:sub_filter:encrypt_info:返回。

注解
  用户应该实现此回调函数。

返回
  YES表示当前用户是所有者，而NO表示当前用户不是所有者。

## ◆ releaseContext:()

- (BOOL) releaseContext: |  | (void *) | context |
| required

用于释放加密和解密上下文的回调函数。

参数

  [in] | context | 加密和解密的上下文，由回调函数 FSCustomSecurityCallback::createContext:sub_filter:encrypt_info:返回。

注解
  用户应该实现此回调函数。

返回
  YES表示成功，而NO表示失败。

## ◆ startDecryptor:obj_num:gen_num:()

- (void *) startDecryptor: |  | (void *) | context
obj_num: |  | (int) | obj_num
gen_num: |  | (int) | gen_num
| required

用于启动解密的回调函数。

参数

  [in] | context | 加密和解密的上下文，由回调函数 FSCustomSecurityCallback::createContext:sub_filter:encrypt_info:返回。
  [in] | obj_num | PDF对象的对象编号。
  [in] | gen_num | PDF对象的生成编号。

注解
  用户应该实现此回调函数。

返回
  由用户实现和创建的解密器。

## ◆ useStandardCryptoMethod:()

- (BOOL) useStandardCryptoMethod: |  | (void *) | context |
| required

用于检查是否使用标准加密方法或自定义加密方法的回调函数。

参数

  [in] | context | 加密和解密的上下文，由回调函数 FSCustomSecurityCallback::createContext:sub_filter:encrypt_info:返回。

返回
  - YES表示使用标准加密方法。在这种情况下，回调函数 FSCustomSecurityCallback::getDecryptedSize:src_data_size:、 FSCustomSecurityCallback::startDecryptor:obj_num:gen_num:、 FSCustomSecurityCallback::decryptData:encrypted_data:encrypted_data_len:、 FSCustomSecurityCallback::finishDecryptor:、 FSCustomSecurityCallback::getEncryptedSize:obj_num:gen_num:src_data:src_data_len: 和FSCustomSecurityCallback::encryptData:obj_num:gen_num:src_data:src_data_len:out_dst_buffer:out_dst_buffer_len:将无用， 用户可以只使用空实现。
  - NO表示使用自定义加密方法。在这种情况下，请确保上述提到的回调函数都已实现。