Foxit PDF SDK
foxit::pdf::RMSEncryptData Class Reference

Public Member Functions

 RMSEncryptData ()
 Constructor.
 
 RMSEncryptData (bool is_encrypt_metadata, const char *publish_license, const StringArray &server_eul_list, float irm_version=1.0)
 Constructor, with parameters. More...
 
 RMSEncryptData (const RMSEncryptData &other)
 Constructor, with another RMS encrypt data object. More...
 
bool operator!= (const RMSEncryptData &other) const
 Not equal operator. More...
 
RMSEncryptDataoperator= (const RMSEncryptData &other)
 Assign operator. More...
 
bool operator== (const RMSEncryptData &other) const
 Equal operator. More...
 
void Set (bool is_encrypt_metadata, const char *publish_license, const StringArray &server_eul_list, float irm_version=1.0)
 Set value. More...
 

Public Attributes

float irm_version
 Microsoft IRM version. It should be above 1. If input version is below 1, Foxit PDF SDK will use 1 as version by default. Default value: 1.0.
 
bool is_encrypt_metadata
 A boolean value to decide whether to encrypt metadata or not. true means to encrypt metadata, and false means not to encrypt metadata.
 
String publish_license
 The Encoded Publishing License issued from server to the Content publisher, in ASCII encoding. This should not be an empty string. More...
 
StringArray server_eul_list
 A string array that contains pairs of strings to represent content of a dictionary object which is encoded Server EUL. More...
 

Detailed Description

This class represents some data used for class RMSSecurityHandler.

Constructor & Destructor Documentation

◆ RMSEncryptData() [1/2]

foxit::pdf::RMSEncryptData::RMSEncryptData ( bool  is_encrypt_metadata,
const char *  publish_license,
const StringArray server_eul_list,
float  irm_version = 1.0 
)
inline

Constructor, with parameters.

Parameters
[in]is_encrypt_metadatatrue means to encrypt metadata, and false means not to encrypt metadata.
[in]publish_licenseThe Encoded Publishing License issued from server to the Content publisher, in ASCII encoding. This should not be an empty string.
This field contains the publishing license from Microsoft IRM services or a comparable IRM service. The original data of Publishing License should be compressed by Flate compression algorithm at first, and then encoded by Base-64 Encryption algorithm. Foxit PDF SDK offers functions in class common::Codec for Flate compression algorithm and Base-64 Encryption algorithm. Please refer to class common::Codec if necessary.
[in]server_eul_listIn this string array, the count of strings should be multiply of 2. 2 strings are in a pair, and each pair represents content of a dictionary object which is encoded Server EUL.
For each pair, the first string is ServerID, and the second one is ServerEUL. The original data of Server ID and Server EUL should be compressed by Flate compression algorithm at first, and then encoded by Base-64 Encryption algorithm. Foxit PDF SDK offers functions in class common::Codec for Flate compression algorithm and Base-64 Encryption algorithm. Please refer to class common::Codec if necessary.
An empty array means not use such information.
[in]irm_versionMicrosoft IRM version. It should be above 1. If input version is below 1, Foxit PDF SDK will use 1 as version by default. Default value: 1.0.

◆ RMSEncryptData() [2/2]

foxit::pdf::RMSEncryptData::RMSEncryptData ( const RMSEncryptData other)
inline

Constructor, with another RMS encrypt data object.

Parameters
[in]otherAnother RMS encrypt data object.

Member Function Documentation

◆ operator!=()

bool foxit::pdf::RMSEncryptData::operator!= ( const RMSEncryptData other) const
inline

Not equal operator.

Parameters
[in]otherAnother RMS encrypt data object. This function will check if current object is not equal to this one.
Returns
true means not equal, while false means equal.

◆ operator=()

RMSEncryptData& foxit::pdf::RMSEncryptData::operator= ( const RMSEncryptData other)
inline

Assign operator.

Parameters
[in]otherAnother RMS encrypt data object, whose value would be assigned to current object.
Returns
Reference to current object itself.

◆ operator==()

bool foxit::pdf::RMSEncryptData::operator== ( const RMSEncryptData other) const
inline

Equal operator.

Parameters
[in]otherAnother RMS encrypt data object. This function will check if current object is equal to this one.
Returns
true means equal, while false means not equal.

◆ Set()

void foxit::pdf::RMSEncryptData::Set ( bool  is_encrypt_metadata,
const char *  publish_license,
const StringArray server_eul_list,
float  irm_version = 1.0 
)
inline

Set value.

Parameters
[in]is_encrypt_metadatatrue means to encrypt metadata, and false means not to encrypt metadata.
[in]publish_licenseThe Encoded Publishing License issued from server to the Content publisher, in ASCII encoding. This should not be an empty string.
This field contains the publishing license from Microsoft IRM services or a comparable IRM service. The original data of Publishing License should be compressed by Flate compression algorithm at first, and then encoded by Base-64 Encryption algorithm. Foxit PDF SDK offers functions in class common::Codec for Flate compression algorithm and Base-64 Encryption algorithm. Please refer to class common::Codec if necessary.
[in]server_eul_listIn this string array, the count of strings should be multiply of 2. 2 strings are in a pair, and each pair represents content of a dictionary object which is encoded Server EUL.
For each pair, the first string is ServerID, and the second one is ServerEUL. The original data of Server ID and Server EUL should be compressed by Flate compression algorithm at first, and then encoded by Base-64 Encryption algorithm. Foxit PDF SDK offers functions in class common::Codec for Flate compression algorithm and Base-64 Encryption algorithm. Please refer to class common::Codec if necessary.
An empty array means not use such information.
[in]irm_versionMicrosoft IRM version. It should be above 1. If input version is below 1, Foxit PDF SDK will use 1 as version by default. Default value: 1.0.
Returns
None.

Member Data Documentation

◆ publish_license

String foxit::pdf::RMSEncryptData::publish_license

The Encoded Publishing License issued from server to the Content publisher, in ASCII encoding. This should not be an empty string.

This field contains the publishing license from Microsoft IRM services or a comparable IRM service. The original data of Publishing License should be compressed by Flate compression algorithm at first, and then encoded by Base-64 Encryption algorithm. Foxit PDF SDK offers functions in class common::Codec for Flate compression algorithm and Base-64 Encryption algorithm. Please refer to class common::Codec if necessary.

◆ server_eul_list

StringArray foxit::pdf::RMSEncryptData::server_eul_list

A string array that contains pairs of strings to represent content of a dictionary object which is encoded Server EUL.

In this string array, the count of strings should be multiply of 2. 2 strings are in a pair, and each pair represents content of a dictionary object which is encoded Server EUL.
For each pair, the first string is ServerID, and the second one is ServerEUL. The original data of Server ID and Server EUL should be compressed by Flate compression algorithm at first, and then encoded by Base-64 Encryption algorithm. Foxit PDF SDK offers functions in class common::Codec for Flate compression algorithm and Base-64 Encryption algorithm.Please refer to class common::Codec if necessary.
An empty array means not use such information.