|
std::unique_ptr< InputStream > | CreateEncryptionInputStream (InputStream &inputStream, size_t inputLen, PdfEncryptContext &context, const PdfReference &objref) const override |
| Create an InputStream that decrypts all data read from it using the current settings of the PdfEncrypt object.
|
|
std::unique_ptr< OutputStream > | CreateEncryptionOutputStream (OutputStream &outputStream, PdfEncryptContext &context, const PdfReference &objref) const override |
| Create an OutputStream that encrypts all data written to it using the current settings of the PdfEncrypt object.
|
|
size_t | CalculateStreamOffset () const override |
| Calculate stream offset.
|
|
size_t | CalculateStreamLength (size_t length) const override |
| Calculate stream size.
|
|
void | CreateEncryptionDictionary (PdfDictionary &dictionary) const override |
| Fill all keys into a encryption dictionary.
|
|
bufferview | GetUEValue () const |
|
bufferview | GetOEValue () const |
|
bufferview | GetPermsValue () const |
|
void | EnsureEncryptionInitialized (const PdfString &documentId, PdfEncryptContext &context) |
| Ensure encryption key and /O, /U, /OE, /UE values are initialized.
|
|
void | Authenticate (const std::string_view &password, const PdfString &documentId, PdfEncryptContext &context) const |
| Tries to authenticate a user using either the user or owner password.
|
|
PdfEncryptionAlgorithm | GetEncryptAlgorithm () const |
| Get the encryption algorithm of this object.
|
|
bool | IsOwnerPasswordSet () const |
| Checks if an owner password is set.
|
|
bool | IsPrintAllowed () const |
| Checks if printing this document is allowed.
|
|
bool | IsEditAllowed () const |
| Checks if modifying this document (besides annotations, form fields or changing pages) is allowed.
|
|
bool | IsCopyAllowed () const |
| Checks if text and graphics extraction is allowed.
|
|
bool | IsEditNotesAllowed () const |
| Checks if it is allowed to add or modify annotations or form fields Every PDF consuming applications has to adhere this value!
|
|
bool | IsFillAndSignAllowed () const |
| Checks if it is allowed to fill in existing form or signature fields Every PDF consuming applications has to adhere this value!
|
|
bool | IsAccessibilityAllowed () const |
| Checks if it is allowed to extract text and graphics to support users with disabilities Every PDF consuming applications has to adhere this value!
|
|
bool | IsDocAssemblyAllowed () const |
| Checks if it is allowed to insert, create, rotate, delete pages or add bookmarks Every PDF consuming applications has to adhere this value!
|
|
bool | IsHighPrintAllowed () const |
| Checks if it is allowed to print a high quality version of this document Every PDF consuming applications has to adhere this value!
|
|
void | EncryptTo (charbuff &out, const bufferview &view, PdfEncryptContext &context, const PdfReference &objref) const |
| Encrypt a character span.
|
|
void | DecryptTo (charbuff &out, const bufferview &view, PdfEncryptContext &context, const PdfReference &objref) const |
| Decrypt a character span.
|
|
unsigned | GetKeyLengthBytes () const |
| Get the encryption key length in bytes.
|
|
bufferview | GetUValue () const |
| Get the U object value (user)
|
|
bufferview | GetOValue () const |
| Get the O object value (owner)
|
|
PdfKeyLength | GetKeyLength () const |
| Get the length of the encryption key in bits.
|
|
PdfPermissions | GetPValue () const |
| Get the P object value (protection)
|
|
unsigned | GetRevision () const |
| Get the revision number of the encryption method.
|
|
bool | IsMetadataEncrypted () const |
|
bool | IsParsed () const |
|
|
void | Encrypt (const char *inStr, size_t inLen, PdfEncryptContext &context, const PdfReference &objref, char *outStr, size_t outLen) const override |
|
void | Decrypt (const char *inStr, size_t inLen, PdfEncryptContext &context, const PdfReference &objref, char *outStr, size_t &outLen) const override |
|
PdfAuthResult | Authenticate (const std::string_view &password, const std::string_view &documentId, PODOFO_CRYPT_CTX *ctx, unsigned char encryptionKey[32]) const override |
|
void | GenerateEncryptionKey (const std::string_view &documentId, PdfAuthResult authResult, PODOFO_CRYPT_CTX *ctx, unsigned char uValue[48], unsigned char oValue[48], unsigned char encryptionKey[32]) override |
|
const unsigned char * | GetUValueRaw () const |
|
const unsigned char * | GetOValueRaw () const |
|
const std::string & | GetUserPassword () const |
|
const std::string & | GetOwnerPassword () const |
|
int64_t | GetPValueForSerialization () const |
|
void | InitFromValues (PdfEncryptionAlgorithm algorithm, PdfKeyLength keyLength, unsigned char revision, PdfPermissions pValue, const bufferview &uValue, const bufferview &oValue, bool encryptedMetadata) |
| Init from parsed values.
|
|
void | InitFromScratch (const std::string_view &userPassword, const std::string_view &ownerPassword, PdfEncryptionAlgorithm algorithm, PdfKeyLength keyLength, unsigned char revision, PdfPermissions pValue, bool encryptedMetadata) |
| Init from scratch with user/owner password.
|
|
bool | CheckKey (const unsigned char key1[32], const unsigned char key2[32]) const |
|
A class that is used to encrypt a PDF file (AES-256)
Client code is working only with PdfEncrypt class and knows nothing about PdfEncryptAES*, it is created through CreatePdfEncrypt factory method