Foxit PDF SDK

Public Member Functions | List of all members
com.foxit.sdk.pdf.RMSSecurityHandler Class Reference
Inheritance diagram for com.foxit.sdk.pdf.RMSSecurityHandler:

## Public Member Functions
| RMSSecurityHandler ()
| Constructor. More...
| RMSSecurityHandler (SecurityHandler other)
| Constructor, with parent class object. More...
synchronized void | delete ()
| Clean up related C++ 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] | other | Parent 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 C++ 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_data | A RMS encrypt data object.
  [in] | callback | A valid RMSSecurityCallback object, which is inherited and implemented by user for their own encryption and description algorithm. It should not be null.

Returns