aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2009-10-17 20:54:51 +0200
committerJay Berkenbilt <ejb@ql.org>2009-10-17 20:54:51 +0200
commitc13bc66de8d6ef553c4ed05247774476a859a5f3 (patch)
treede0daed86869f322c921f281fa7c6a5337738a81 /include
parent27e8d4bbfffef1072043ef21725ab85eabaee63b (diff)
downloadqpdf-c13bc66de8d6ef553c4ed05247774476a859a5f3.tar.zst
checkpoint -- partially implemented /V=4 encryption
git-svn-id: svn+q:///qpdf/trunk@811 71b93d88-0707-0410-a8cf-f5a4172ac649
Diffstat (limited to 'include')
-rw-r--r--include/qpdf/QPDF.hh14
1 files changed, 9 insertions, 5 deletions
diff --git a/include/qpdf/QPDF.hh b/include/qpdf/QPDF.hh
index 6037ad4c..7df995b1 100644
--- a/include/qpdf/QPDF.hh
+++ b/include/qpdf/QPDF.hh
@@ -141,7 +141,7 @@ class DLL_EXPORT QPDF
static void compute_encryption_O_U(
char const* user_password, char const* owner_password,
- int V, int R, int key_len, int P,
+ int V, int R, int key_len, int P, bool encrypt_metadata,
std::string const& id1,
std::string& O, std::string& U);
// Return the full user password as stored in the PDF file. If
@@ -398,10 +398,12 @@ class DLL_EXPORT QPDF
// methods to support encryption -- implemented in QPDF_encryption.cc
void initializeEncryption();
- std::string getKeyForObject(int objid, int generation);
+ std::string getKeyForObject(int objid, int generation, bool use_aes);
void decryptString(std::string&, int objid, int generation);
- void decryptStream(Pipeline*& pipeline, int objid, int generation,
- std::vector<PointerHolder<Pipeline> >& heap);
+ void decryptStream(
+ Pipeline*& pipeline, int objid, int generation,
+ QPDFObjectHandle& stream_dict,
+ std::vector<PointerHolder<Pipeline> >& heap);
// Linearization Hint table structures.
// Naming conventions:
@@ -735,7 +737,9 @@ class DLL_EXPORT QPDF
bool ignore_xref_streams;
bool suppress_warnings;
bool attempt_recovery;
- bool encryption_use_aes;
+ int encryption_V;
+ bool encrypt_metadata;
+ QPDFObjectHandle encryption_dictionary;
std::string provided_password;
std::string user_password;
std::string encryption_key;