Foxit PDF SDK

Public 成员函数 | 所有成员列表
foxit::pdf::CustomSecurityCallback类 参考abstract
类 foxit::pdf::CustomSecurityCallback 继承关系图:

## Public 成员函数
virtual void * | CreateContext (const char *filter, const char *sub_filter, const char *encrypt_info)=0
| 用于创建加密和解密上下文的回调函数。 更多...
virtual String | DecryptData (const void *decryptor, const void *encrypted_data, uint32 encrypted_data_len)=0
| 用于解密加密数据的回调函数。 更多...
virtual bool | EncryptData (const void *context, int obj_num, int gen_num, const void *src_data, uint32 src_data_len, void *out_dst_buffer, uint32 *out_dst_buffer_len)=0
| 用于获取加密数据的回调函数。 更多...
virtual String | FinishDecryptor (void *decryptor)=0
| 用于完成解密的回调函数。 更多...
virtual SecurityHandler::CipherType | GetCipher (const void *context)=0
| 用于获取密码类型的回调函数。 更多...
virtual uint32 | GetDecryptedSize (const void *context, uint32 src_data_size)=0
| 用于获取估计的解密数据大小的回调函数。 更多...
virtual uint32 | GetEncryptedSize (const void *context, int obj_num, int gen_num, const void *src_data, uint32 src_data_len)=0
| 用于获取估计的加密大小的回调函数。 更多...
virtual String | GetEncryptKey (const void *context)=0
| 用于获取加密密钥的回调函数。 更多...
virtual PDFDoc::EncryptType | GetSecurityType ()
| 获取安全回调的加密类型。 更多...
virtual uint32 | GetUserPermissions (const void *context, uint32 user_permission)=0
| 用于获取用户权限的回调函数。 更多...
virtual bool | IsOwner (const void *context)=0
| 用于检查当前用户是否是PDF文档所有者的回调函数。 更多...
virtual bool | ReleaseContext (void *context)=0
| 用于释放加密和解密上下文的回调函数。 更多...
virtual void * | StartDecryptor (const void *context, int obj_num, int gen_num)=0
| 用于开始解密的回调函数。 更多...
virtual bool | UseStandardCryptoMethod (const void *context)
| 用于检查是否使用标准加密方法或自定义加密方法的回调函数。 更多...
Public 成员函数 继承自 foxit::pdf::SecurityCallback
virtual void | Release ()=0
| 用于释放当前回调对象自身的回调函数。 更多...

## 详细描述

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

## 成员函数说明

## ◆ CreateContext()

virtual void* foxit::pdf::CustomSecurityCallback::CreateContext | ( | const char * | filter,
|  | const char * | sub_filter,
|  | const char * | encrypt_info
| ) |  |
| pure virtual

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

参数

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

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

返回
  加密上下文。

## ◆ DecryptData()

virtual String foxit::pdf::CustomSecurityCallback::DecryptData | ( | const void * | decryptor,
|  | const void * | encrypted_data,
|  | uint32 | encrypted_data_len
| ) |  |
| pure virtual

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

参数

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

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

返回
  解密的数据内容。

## ◆ EncryptData()

virtual bool foxit::pdf::CustomSecurityCallback::EncryptData | ( | const void * | context,
|  | int | obj_num,
|  | int | gen_num,
|  | const void * | src_data,
|  | uint32 | src_data_len,
|  | void * | out_dst_buffer,
|  | uint32 * | out_dst_buffer_len
| ) |  |
| pure virtual

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

参数

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

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

返回
  true 表示成功，false 表示失败。

## ◆ FinishDecryptor()

virtual String foxit::pdf::CustomSecurityCallback::FinishDecryptor | ( | void * | decryptor | ) |
| pure virtual

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

参数

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

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

返回
  解密的数据内容。

## ◆ GetCipher()

virtual SecurityHandler::CipherType foxit::pdf::CustomSecurityCallback::GetCipher | ( | const void * | context | ) |
| pure virtual

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

参数

  [in] | context | 加密和解密的上下文，由回调函数 CustomSecurityCallback::CreateContext 返回。

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

返回
  密码类型。请参考从 SecurityHandler::e_CipherNone 开始的值， 应该是这些值中的一个。

## ◆ GetDecryptedSize()

virtual uint32 foxit::pdf::CustomSecurityCallback::GetDecryptedSize | ( | const void * | context,
|  | uint32 | src_data_size
| ) |  |
| pure virtual

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

参数

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

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

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

## ◆ GetEncryptedSize()

virtual uint32 foxit::pdf::CustomSecurityCallback::GetEncryptedSize | ( | const void * | context,
|  | int | obj_num,
|  | int | gen_num,
|  | const void * | src_data,
|  | uint32 | src_data_len
| ) |  |
| pure virtual

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

参数

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

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

返回
  估计的加密大小。

## ◆ GetEncryptKey()

virtual String foxit::pdf::CustomSecurityCallback::GetEncryptKey | ( | const void * | context | ) |
| pure virtual

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

参数

  [in] | context | 加密和解密的上下文，由回调函数 CustomSecurityCallback::CreateContext 返回。

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

返回
  加密密钥。

## ◆ GetSecurityType()

virtual PDFDoc::EncryptType foxit::pdf::CustomSecurityCallback::GetSecurityType | ( |  | ) |
| inline virtual

获取安全回调的加密类型。

注解
  用户不应覆盖此函数，否则会有意外行为。

返回
  加密类型。它总是返回 PDFDoc::e_EncryptCustom。

重载 foxit::pdf::SecurityCallback .

被 foxit::pdf::RMSSecurityCallback 重载.

## ◆ GetUserPermissions()

virtual uint32 foxit::pdf::CustomSecurityCallback::GetUserPermissions | ( | const void * | context,
|  | uint32 | user_permission
| ) |  |
| pure virtual

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

参数

  [in] | context | 加密和解密的上下文，由回调函数 CustomSecurityCallback::CreateContext 返回。
  [in] | user_permission | 文档的原始权限设置。请参考从 PDFDoc::e_PermPrint 开始的值，可以是这些值中的一个或多个的组合。

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

返回
  新的用户权限。请参考从 PDFDoc::e_PermPrint 开始的值， 应该是这些值中的一个或多个的组合。

## ◆ IsOwner()

virtual bool foxit::pdf::CustomSecurityCallback::IsOwner | ( | const void * | context | ) |
| pure virtual

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

参数

  [in] | context | 加密和解密的上下文，由回调函数 CustomSecurityCallback::CreateContext 返回。

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

返回
  true 表示当前用户是所有者，false 表示当前用户不是所有者。

## ◆ ReleaseContext()

virtual bool foxit::pdf::CustomSecurityCallback::ReleaseContext | ( | void * | context | ) |
| pure virtual

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

参数

  [in] | context | 加密和解密的上下文，由回调函数 CustomSecurityCallback::CreateContext 返回。

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

返回
  true 表示成功，false 表示失败。

## ◆ StartDecryptor()

virtual void* foxit::pdf::CustomSecurityCallback::StartDecryptor | ( | const void * | context,
|  | int | obj_num,
|  | int | gen_num
| ) |  |
| pure virtual

用于开始解密的回调函数。

参数

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

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

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

## ◆ UseStandardCryptoMethod()

virtual bool foxit::pdf::CustomSecurityCallback::UseStandardCryptoMethod | ( | const void * | context | ) |
| inline virtual

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

参数

  [in] | context | 加密和解密的上下文，由回调函数 CustomSecurityCallback::CreateContext 返回。

返回
  - true 表示使用标准加密方法。在这种情况下，回调函数 CustomSecurityCallback::GetDecryptedSize、CustomSecurityCallback::StartDecryptor、 CustomSecurityCallback::DecryptData、CustomSecurityCallback::FinishDecryptor、 CustomSecurityCallback::GetEncryptedSize 和 CustomSecurityCallback::EncryptData 将无用， 用户可以为它们使用空实现。
  - false 表示使用自定义加密方法。在这种情况下，请确保上述提到的回调函数都已实现。