Class representing PDF encryption methods. (For internal use only)
More...
#include <pdfencrypt.h>
List of all members.
Public Member Functions |
| wxPdfEncrypt (int revision=2, int keyLength=40) |
| Constructor.
|
virtual | ~wxPdfEncrypt () |
| Default destructor.
|
void | GenerateEncryptionKey (const wxString &userPassword, const wxString &ownerPassword, int protection, const wxString &documentId=wxEmptyString) |
| Generate encryption key from user and owner passwords and protection key.
|
bool | Authenticate (const wxString &documentID, const wxString &password, const wxString &uValue, const wxString &oValue, int pValue, int lengthValue, int rValue) |
| Authenticate a document.
|
const unsigned char * | GetUValue () const |
| Get the U object value (user)
|
const unsigned char * | GetOValue () const |
| Get the O object value (owner)
|
int | GetPValue () const |
| Get the P object value (protection)
|
int | GetRevision () const |
| Get the revision number of the encryption method.
|
unsigned int | GetKeyLength () const |
| Get the key length of the encryption key in bits.
|
void | Encrypt (int n, int g, wxString &str) |
| Encrypt a wxString.
|
void | Encrypt (int n, int g, unsigned char *str, unsigned int len) |
| Encrypt a character string.
|
size_t | CalculateStreamLength (size_t length) |
| Calculate stream size.
|
size_t | CalculateStreamOffset () |
| Calculate stream offset.
|
wxString | CreateDocumentId () |
| Create document id.
|
wxString | GetDocumentId () const |
| Get document id.
|
Protected Member Functions |
void | PadPassword (const wxString &password, unsigned char pswd[32]) |
| Pad a password to 32 characters.
|
void | ComputeOwnerKey (unsigned char userPad[32], unsigned char ownerPad[32], unsigned int keylength, int revision, bool authenticate, unsigned char ownerKey[32]) |
| Compute owner key.
|
void | ComputeEncryptionKey (const wxString &documentID, unsigned char userPad[32], unsigned char ownerKey[32], int pValue, unsigned int keyLength, int revision, unsigned char userKey[32]) |
| Compute encryption key and user key.
|
bool | CheckKey (unsigned char key1[32], unsigned char key2[32]) |
| Check two keys for equality.
|
void | RC4 (unsigned char *key, unsigned int keylen, unsigned char *textin, unsigned int textlen, unsigned char *textout) |
| RC4 encryption.
|
void | GetMD5Binary (const unsigned char *data, unsigned int length, unsigned char *digest) |
| Calculate the binary MD5 message digest of the given data.
|
void | AES (unsigned char *key, unsigned int keylen, unsigned char *textin, unsigned int textlen, unsigned char *textout) |
| AES encryption.
|
void | GenerateInitialVector (unsigned char iv[16]) |
| Generate initial vector.
|
Detailed Description
Class representing PDF encryption methods. (For internal use only)
Constructor & Destructor Documentation
wxPdfEncrypt::wxPdfEncrypt |
( |
int |
revision = 2 , |
|
|
int |
keyLength = 40 |
|
) |
| |
Constructor.
- Parameters:
-
revision | revision of the encryption algorithm |
keyLength | length of the key for the encryption |
virtual wxPdfEncrypt::~wxPdfEncrypt |
( |
| ) |
|
|
virtual |
Member Function Documentation
void wxPdfEncrypt::AES |
( |
unsigned char * |
key, |
|
|
unsigned int |
keylen, |
|
|
unsigned char * |
textin, |
|
|
unsigned int |
textlen, |
|
|
unsigned char * |
textout |
|
) |
| |
|
protected |
bool wxPdfEncrypt::Authenticate |
( |
const wxString & |
documentID, |
|
|
const wxString & |
password, |
|
|
const wxString & |
uValue, |
|
|
const wxString & |
oValue, |
|
|
int |
pValue, |
|
|
int |
lengthValue, |
|
|
int |
rValue |
|
) |
| |
Authenticate a document.
- Parameters:
-
documentID | the identification of the document |
password | the password given by the user |
uValue | the U value from the document's encryption dictionary |
oValue | the O value from the document's encryption dictionary |
pValue | the P value from the document's encryption dictionary |
lengthValue | the length value from the document's encryption dictionary |
rValue | the R value from the document's encryption dictionary |
- Returns:
- TRUE if the document could be authenticated successfully, FALSE otherwise
size_t wxPdfEncrypt::CalculateStreamLength |
( |
size_t |
length | ) |
|
Calculate stream size.
- Parameters:
-
length | lenght of the original stream |
- Returns:
- the length of the encrypted stream
size_t wxPdfEncrypt::CalculateStreamOffset |
( |
| ) |
|
Calculate stream offset.
- Returns:
- the offset of the stream
bool wxPdfEncrypt::CheckKey |
( |
unsigned char |
key1[32], |
|
|
unsigned char |
key2[32] |
|
) |
| |
|
protected |
Check two keys for equality.
void wxPdfEncrypt::ComputeEncryptionKey |
( |
const wxString & |
documentID, |
|
|
unsigned char |
userPad[32], |
|
|
unsigned char |
ownerKey[32], |
|
|
int |
pValue, |
|
|
unsigned int |
keyLength, |
|
|
int |
revision, |
|
|
unsigned char |
userKey[32] |
|
) |
| |
|
protected |
Compute encryption key and user key.
void wxPdfEncrypt::ComputeOwnerKey |
( |
unsigned char |
userPad[32], |
|
|
unsigned char |
ownerPad[32], |
|
|
unsigned int |
keylength, |
|
|
int |
revision, |
|
|
bool |
authenticate, |
|
|
unsigned char |
ownerKey[32] |
|
) |
| |
|
protected |
wxString wxPdfEncrypt::CreateDocumentId |
( |
| ) |
|
Create document id.
- Returns:
- the created document identifier
void wxPdfEncrypt::Encrypt |
( |
int |
n, |
|
|
int |
g, |
|
|
wxString & |
str |
|
) |
| |
Encrypt a wxString.
- Parameters:
-
n | number of the associated PDF object |
g | generation of the associated PDF object |
str | string to encrypt |
void wxPdfEncrypt::Encrypt |
( |
int |
n, |
|
|
int |
g, |
|
|
unsigned char * |
str, |
|
|
unsigned int |
len |
|
) |
| |
Encrypt a character string.
- Parameters:
-
n | number of the associated PDF object |
g | generation of the associated PDF object |
str | string to encrypt |
len | length of the string to encrypt |
void wxPdfEncrypt::GenerateEncryptionKey |
( |
const wxString & |
userPassword, |
|
|
const wxString & |
ownerPassword, |
|
|
int |
protection, |
|
|
const wxString & |
documentId = wxEmptyString |
|
) |
| |
Generate encryption key from user and owner passwords and protection key.
- Parameters:
-
userPassword | password of the user |
ownerPassword | password of the owner |
protection | protection flags |
documentId | optional document identification |
void wxPdfEncrypt::GenerateInitialVector |
( |
unsigned char |
iv[16] | ) |
|
|
protected |
wxString wxPdfEncrypt::GetDocumentId |
( |
| ) |
const |
|
inline |
Get document id.
- Returns:
- the associated document identifier
unsigned int wxPdfEncrypt::GetKeyLength |
( |
| ) |
const |
|
inline |
Get the key length of the encryption key in bits.
void wxPdfEncrypt::GetMD5Binary |
( |
const unsigned char * |
data, |
|
|
unsigned int |
length, |
|
|
unsigned char * |
digest |
|
) |
| |
|
protected |
Calculate the binary MD5 message digest of the given data.
const unsigned char* wxPdfEncrypt::GetOValue |
( |
| ) |
const |
|
inline |
Get the O object value (owner)
int wxPdfEncrypt::GetPValue |
( |
| ) |
const |
|
inline |
Get the P object value (protection)
int wxPdfEncrypt::GetRevision |
( |
| ) |
const |
|
inline |
Get the revision number of the encryption method.
const unsigned char* wxPdfEncrypt::GetUValue |
( |
| ) |
const |
|
inline |
Get the U object value (user)
void wxPdfEncrypt::PadPassword |
( |
const wxString & |
password, |
|
|
unsigned char |
pswd[32] |
|
) |
| |
|
protected |
Pad a password to 32 characters.
void wxPdfEncrypt::RC4 |
( |
unsigned char * |
key, |
|
|
unsigned int |
keylen, |
|
|
unsigned char * |
textin, |
|
|
unsigned int |
textlen, |
|
|
unsigned char * |
textout |
|
) |
| |
|
protected |
The documentation for this class was generated from the following file: