Foxit PDF SDK
foxit.pdf.CustomSecurityCallback类 参考
类 foxit.pdf.CustomSecurityCallback 继承关系图:
foxit.pdf.SecurityCallback foxit.pdf.RMSSecurityCallback

Public 成员函数

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

详细描述

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

成员函数说明

◆ CreateContext()

global.System.IntPtr foxit.pdf.CustomSecurityCallback.CreateContext ( string  filter,
string  sub_filter,
string  encrypt_info 
)
inlinevirtual

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

参数
[in]filter自定义安全回调对象的过滤器名称。
[in]sub_filter指定加密字典内容语法的子过滤器名称。
[in]encrypt_infoPDF文档的加密信息。
注解
用户应该实现此回调函数。
返回
加密上下文。

◆ DecryptData()

System.IntPtr foxit.pdf.CustomSecurityCallback.DecryptData ( global::System.IntPtr  decryptor,
global::System.IntPtr  encrypted_data,
int  encrypted_data_len 
)
inlinevirtual

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

参数
[in]decryptor用户实现和创建的解密器,由回调函数 CustomSecurityCallback.StartDecryptor 返回。
[in]encrypted_data存储加密数据的缓冲区。
[in]encrypted_data_len加密数据的长度,以字节为单位。
注解
用户应该实现此回调函数。
返回
解密的数据内容。

◆ EncryptData()

bool foxit.pdf.CustomSecurityCallback.EncryptData ( global::System.IntPtr  context,
int  obj_num,
int  gen_num,
global::System.IntPtr  src_data,
int  src_data_len,
global::System.IntPtr  out_dst_buffer,
out int  out_dst_buffer_len 
)
inlinevirtual

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

参数
[in]context加密和解密的上下文,由回调函数 CustomSecurityCallback.CreateContext 返回。
[in]obj_numPDF对象的对象编号。
[in]gen_numPDF对象的生成编号。
[in]src_data存储要加密的纯文本的缓冲区。
[in]src_data_len缓冲区的长度。
[out]out_dst_buffer接收加密内容的输出参数。
[out]out_dst_buffer_len接收加密数据长度的输出参数。
注解
用户应该实现此回调函数。
返回
true 表示成功,false 表示失败。

◆ FinishDecryptor()

string foxit.pdf.CustomSecurityCallback.FinishDecryptor ( global::System.IntPtr  decryptor)
inlinevirtual

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

参数
[in]decryptor用户实现和创建的解密器,由回调函数 CustomSecurityCallback.StartDecryptor 返回。
注解
用户应该实现此回调函数。
返回
解密的数据内容。

◆ GetCipher()

SecurityHandler.CipherType foxit.pdf.CustomSecurityCallback.GetCipher ( global::System.IntPtr  context)
inlinevirtual

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

参数
[in]context加密和解密的上下文,由回调函数 CustomSecurityCallback.CreateContext 返回。
注解
用户应该实现此回调函数。
返回
密码类型。请参考从 foxit.pdf.SecurityHandler.CipherType.e_CipherNone 开始的值, 应该是这些值中的一个。

◆ GetDecryptedSize()

int foxit.pdf.CustomSecurityCallback.GetDecryptedSize ( global::System.IntPtr  context,
int  src_data_size 
)
inlinevirtual

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

参数
[in]context加密和解密的上下文,由回调函数 CustomSecurityCallback.CreateContext 返回。
[in]src_data_size要解密的源数据大小。
注解
用户应该实现此回调函数。
返回
估计的解密数据大小。

◆ GetEncryptedSize()

int foxit.pdf.CustomSecurityCallback.GetEncryptedSize ( global::System.IntPtr  context,
int  obj_num,
int  gen_num,
global::System.IntPtr  src_data,
int  src_data_len 
)
inlinevirtual

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

参数
[in]context加密和解密的上下文,由回调函数 CustomSecurityCallback.CreateContext 返回。
[in]obj_numPDF对象的对象编号。
[in]gen_numPDF对象的生成编号。
[in]src_data存储要加密的纯文本的缓冲区。
[in]src_data_len缓冲区的长度。
注解
用户应该实现此回调函数。
返回
估计的加密大小。

◆ GetEncryptKey()

string foxit.pdf.CustomSecurityCallback.GetEncryptKey ( global::System.IntPtr  context)
inlinevirtual

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

参数
[in]context加密和解密的上下文,由回调函数 CustomSecurityCallback.CreateContext 返回。
注解
用户应该实现此回调函数。
返回
加密密钥。

◆ GetSecurityType()

override PDFDoc.EncryptType foxit.pdf.CustomSecurityCallback.GetSecurityType ( )
inlinevirtual

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

注解
用户不应覆盖此函数,否则会有意外行为。
返回
加密类型。它总是返回 foxit.pdf.PDFDoc.EncryptType.e_EncryptCustom

重载 foxit.pdf.SecurityCallback .

foxit.pdf.RMSSecurityCallback 重载.

◆ GetUserPermissions()

int foxit.pdf.CustomSecurityCallback.GetUserPermissions ( global::System.IntPtr  context,
int  user_permission 
)
inlinevirtual

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

参数
[in]context加密和解密的上下文,由回调函数 CustomSecurityCallback.CreateContext 返回。
[in]user_permission文档的原始权限设置。请参考从 foxit.pdf.PDFDoc.UserPermissions.e_PermPrint 开始的值,可以是这些值中的一个或多个的组合。
注解
用户应该实现此回调函数。
返回
新的用户权限。请参考从 foxit.pdf.PDFDoc.UserPermissions.e_PermPrint 开始的值, 应该是这些值中的一个或多个的组合。

◆ IsOwner()

bool foxit.pdf.CustomSecurityCallback.IsOwner ( global::System.IntPtr  context)
inlinevirtual

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

参数
[in]context加密和解密的上下文,由回调函数 CustomSecurityCallback.CreateContext 返回。
注解
用户应该实现此回调函数。
返回
true 表示当前用户是所有者,false 表示当前用户不是所有者。

◆ ReleaseContext()

bool foxit.pdf.CustomSecurityCallback.ReleaseContext ( global::System.IntPtr  context)
inlinevirtual

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

参数
[in]context加密和解密的上下文,由回调函数 CustomSecurityCallback.CreateContext 返回。
注解
用户应该实现此回调函数。
返回
true 表示成功,false 表示失败。

◆ StartDecryptor()

global.System.IntPtr foxit.pdf.CustomSecurityCallback.StartDecryptor ( global::System.IntPtr  context,
int  obj_num,
int  gen_num 
)
inlinevirtual

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

参数
[in]context加密和解密的上下文,由回调函数 CustomSecurityCallback.CreateContext 返回。
[in]obj_numPDF对象的对象编号。
[in]gen_numPDF对象的生成编号。
注解
用户应该实现此回调函数。
返回
用户实现和创建的解密器。

◆ UseStandardCryptoMethod()

bool foxit.pdf.CustomSecurityCallback.UseStandardCryptoMethod ( global::System.IntPtr  context)
inlinevirtual

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

参数
[in]context加密和解密的上下文,由回调函数 CustomSecurityCallback.CreateContext 返回。
返回
<ul>
<li>
<b>true</b> 表示使用标准加密方法。在这种情况下,回调函数 @link CustomSecurityCallback::GetDecryptedSize CustomSecurityCallback.GetDecryptedSize @endlink、@link
CustomSecurityCallback::StartDecryptor CustomSecurityCallback.StartDecryptor @endlink、 @link CustomSecurityCallback::DecryptData
CustomSecurityCallback.DecryptData @endlink、@link CustomSecurityCallback::FinishDecryptor CustomSecurityCallback.FinishDecryptor @endlink、 @link
CustomSecurityCallback::GetEncryptedSize CustomSecurityCallback.GetEncryptedSize @endlink 和 @link CustomSecurityCallback::EncryptData
CustomSecurityCallback.EncryptData @endlink 将无用, 用户可以为它们使用空实现。  
</li>
<li>
<b>false</b> 表示使用自定义加密方法。在这种情况下,请确保上述提到的回调函数都已实现。  
</li>
</ul>