Foxit PDF SDK
com.foxit.sdk.pdf.RMSSecurityHandler Class Reference
Inheritance diagram for com.foxit.sdk.pdf.RMSSecurityHandler:
com.foxit.sdk.pdf.SecurityHandler com.foxit.sdk.common.Base

Public Member Functions

 RMSSecurityHandler ()
 Constructor.
More...
 
 RMSSecurityHandler (SecurityHandler other)
 Constructor, with parent class object.
More...
 
synchronized void delete ()
 Clean up related resources immediately. More...
 
boolean initialize (RMSEncryptData encrypt_data, RMSSecurityCallback callback) throws com.foxit.sdk.PDFException
 Initialize current Microsoft RMS security handler.
More...
 
- Public Member Functions inherited from com.foxit.sdk.pdf.SecurityHandler
 SecurityHandler ()
 Constructor.

 
 SecurityHandler (SecurityHandler other)
 Constructor, with another security handler object.
More...
 
int getSecurityType ()
 Get the encryption type of current security handler.
More...
 
boolean isEmpty ()
 Check whether current object is empty or not.
More...
 

Additional Inherited Members

- Static Public Attributes inherited from com.foxit.sdk.pdf.SecurityHandler
static final int e_CipherAES = 2
 Use AES encryption algorithm, with the key length be 16 bytes (as AES-128) or 32 bytes (as AES-256, only supported in PDF 2.0).

 
static final int e_CipherNone = 0
 Not use encryption algorithm.

 
static final int e_CipherRC4 = 1
 Use RC4 encryption algorithm, with the key length between 5 bytes and 16 bytes.

 

Detailed Description

This class represents a RMS security handler, used for RMS encryption.

Note
If module "RMS" is not defined in the license information which is used in function common.Library.initialize , that means user has no right in using RMS related functions and valid RMS security handler would not be constructed successfully and exception com.foxit.sdk.common.Constants.e_ErrNoRMSModuleRight would be thrown.
See also
SecurityHandler

Constructor & Destructor Documentation

◆ RMSSecurityHandler() [1/2]

com.foxit.sdk.pdf.RMSSecurityHandler.RMSSecurityHandler ( )

Constructor.

Note
If module "RMS" is not defined in the license information which is used in function common.Library.initialize , that means user has no right in using RMS related functions and this constructor will throw exception com.foxit.sdk.common.Constants.e_ErrNoRMSModuleRight .

◆ RMSSecurityHandler() [2/2]

com.foxit.sdk.pdf.RMSSecurityHandler.RMSSecurityHandler ( SecurityHandler  other)

Constructor, with parent class object.

Parameters
[in]otherParent class object.
Note
If module "RMS" is not defined in the license information which is used in function common.Library.initialize , that means user has no right in using RMS related functions and this constructor will throw exception com.foxit.sdk.common.Constants.e_ErrNoRMSModuleRight .

Member Function Documentation

◆ delete()

synchronized void com.foxit.sdk.pdf.RMSSecurityHandler.delete ( )

Clean up related resources immediately.

Returns
None.
Note
Once this function is called, current object cannot be used anymore.

Reimplemented from com.foxit.sdk.pdf.SecurityHandler.

◆ initialize()

boolean com.foxit.sdk.pdf.RMSSecurityHandler.initialize ( RMSEncryptData  encrypt_data,
RMSSecurityCallback  callback 
) throws com.foxit.sdk.PDFException

Initialize current Microsoft RMS security handler.

If this function is successfully, Foxit PDF SDK will take over the input security callback object and user should not release this callback object directly anymore; otherwise unexpected crash may occurs later.
Foxit PDF SDK may release the security callback object by callback function SecurityCallback.release (inherited from RMSSecurityCallback's parent class), when current security handler is released and find that the callback object has not been used by other object. So, user is recommended not to use the security callback object any more, after current security handler is released.

Parameters
[in]encrypt_dataA RMS encrypt data object.
[in]callbackA valid RMSSecurityCallback object, which is inherited and implemented by user for their own encryption and description algorithm. It should not be null.
Returns