Foxit PDF SDK

Public 成员函数 | 静态 Public 属性 | 所有成员列表
com.foxit.sdk.pdf.StdSecurityHandler类 参考
类 com.foxit.sdk.pdf.StdSecurityHandler 继承关系图:

## Public 成员函数
| StdSecurityHandler ()
| 构造函数。
| StdSecurityHandler (SecurityHandler other)
| 构造函数，使用父类对象。 更多...
synchronized void | delete ()
| 直接清除C++相关资源。 更多...
boolean | initialize (StdEncryptData encrypt_data, byte[] user_password, byte[] owner_password) throws com.foxit.sdk.PDFException
| （不支持AES-256）初始化当前标准安全处理器。 更多...
boolean | initializeW (StdEncryptData encrypt_data, String user_password, String owner_password) throws com.foxit.sdk.PDFException
| （仅适用于AES-256）初始化当前标准安全处理器。 更多...
void | setAES256ModifyFlags (int modify_flags) throws com.foxit.sdk.PDFException
| （仅适用于AES-256）设置修改标志以决定在加密过程中哪些安全数据或密码将被修改。 更多...
Public 成员函数 继承自 com.foxit.sdk.pdf.SecurityHandler
| SecurityHandler ()
| 构造函数。
| SecurityHandler (SecurityHandler other)
| 用另一个安全处理器对象的构造函数。 更多...
int | getSecurityType ()
| 获取当前安全处理器的加密类型。 更多...
boolean | isEmpty ()
| 检查当前对象是否为空。 更多...

## 静态 Public 属性
static final int | e_ModifyOwnerPassword = 0x04
| 如果设置，在加密过程中将仅修改所有者密码。
static final int | e_ModifyPermission = 0x01
| 如果设置，在加密过程中将修改用户权限和"是否加密元数据"值（在 StdEncryptData 中定义）。
static final int | e_ModifyUserPassword = 0x02
| 如果设置，在加密过程中将修改用户密码和所有者密码。
静态 Public 属性 继承自 com.foxit.sdk.pdf.SecurityHandler
static final int | e_CipherAES = 2
| 使用AES加密算法，密钥长度为16字节（AES-128）或 32字节（AES-256，仅在PDF 2.0中支持）。
static final int | e_CipherNone = 0
| 不使用加密算法。
static final int | e_CipherRC4 = 1
| 使用RC4加密算法，密钥长度在5字节到16字节之间。

## 详细描述

此类表示标准安全处理器，用于密码加密。

参见
  SecurityHandler

## 构造及析构函数说明

## ◆ StdSecurityHandler()

com.foxit.sdk.pdf.StdSecurityHandler.StdSecurityHandler | ( | SecurityHandler | other | ) |

构造函数，使用父类对象。

参数

  [in] | other | 父类对象。

## 成员函数说明

## ◆ delete()

synchronized void com.foxit.sdk.pdf.StdSecurityHandler.delete | ( |  | ) |

直接清除C++相关资源。

返回
  无。

注解
  一旦这个接口被调用，这个对象将不能再被使用。

重载 com.foxit.sdk.pdf.SecurityHandler .

## ◆ initialize()

boolean com.foxit.sdk.pdf.StdSecurityHandler.initialize | ( | StdEncryptData | encrypt_data,
|  | byte[] | user_password,
|  | byte[] | owner_password
| ) |  | throws com.foxit.sdk.PDFException

（不支持AES-256）初始化当前标准安全处理器。

参数

  [in] | user_password | 用户密码，用于打开PDF文档。当参数 owner_password 不为空时，此密码可以为空。
  [in] | owner_password | 所有者密码，用于获取PDF文档的所有权。当参数 user_password 不为空时，此密码可以为空。
  [in] | encrypt_data | 标准加密数据对象。在加密数据中，密码类型不应为 com.foxit.sdk.pdf.SecurityHandler.e_CipherNone ，或密钥长度为32的 com.foxit.sdk.pdf.SecurityHandler.e_CipherAES （即不支持AES-256）。请参考类 StdEncryptData 的注释以确保每个成员的有效性。

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

## ◆ initializeW()

boolean com.foxit.sdk.pdf.StdSecurityHandler.initializeW | ( | StdEncryptData | encrypt_data,
|  | String | user_password,
|  | String | owner_password
| ) |  | throws com.foxit.sdk.PDFException

（仅适用于AES-256）初始化当前标准安全处理器。

参数

  [in] | user_password | 用户密码，用于打开PDF文档。当参数 owner_password 不为空时，此密码可以为空。
  [in] | owner_password | 所有者密码，用于获取PDF文档的所有权。当参数 user_password 不为空时，此密码可以为空。
  [in] | encrypt_data | 标准加密数据对象。在加密数据中，密码类型应为 com.foxit.sdk.pdf.SecurityHandler.e_CipherAES 且密钥长度应为32。

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

## ◆ setAES256ModifyFlags()

void com.foxit.sdk.pdf.StdSecurityHandler.setAES256ModifyFlags | ( | int | modify_flags | ) | throws com.foxit.sdk.PDFException

（仅适用于AES-256）设置修改标志以决定在加密过程中哪些安全数据或密码将被修改。

修改标志仅在PDF文档已使用AES-256加密且当前 StdSecurityHandler 对象将用于修改此PDF文档的某些安全数据或密码时有用。对于其他情况，在加密过程中这些修改标志将被忽略。安全数据和密码通过函数 StdSecurityHandler::InitializeW 设置。如果当前 StdSecurityHandler 对象未调用此函数，这意味着默认修改所有安全数据和密码。

参数

  [in] | modify_flags | 修改标志，用于决定在加密过程中哪些安全数据或密码将被修改。请参考从 com.foxit.sdk.pdf.StdSecurityHandler.e_ModifyPermission 开始的值，应该是这些值中的一个或多个的组合。

返回
  无。