aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2009-10-18 01:37:55 +0200
committerJay Berkenbilt <ejb@ql.org>2009-10-18 01:37:55 +0200
commite25910b59ab84c7aada0b651e7dbb47f6830ad3d (patch)
treed41d25d1d7f26554edd8d1ff85a46d2b8cba3a15 /include
parentc13bc66de8d6ef553c4ed05247774476a859a5f3 (diff)
downloadqpdf-e25910b59ab84c7aada0b651e7dbb47f6830ad3d.tar.zst
reading crypt filters is largely implemented but not fully tested
git-svn-id: svn+q:///qpdf/trunk@812 71b93d88-0707-0410-a8cf-f5a4172ac649
Diffstat (limited to 'include')
-rw-r--r--include/qpdf/QPDF.hh7
1 files changed, 6 insertions, 1 deletions
diff --git a/include/qpdf/QPDF.hh b/include/qpdf/QPDF.hh
index 7df995b1..44d069f4 100644
--- a/include/qpdf/QPDF.hh
+++ b/include/qpdf/QPDF.hh
@@ -87,6 +87,7 @@ class DLL_EXPORT QPDF
// Encryption support
+ enum encryption_method_e { e_none, e_unknown, e_rc4, e_aes };
struct EncryptionData
{
// This class holds data read from the encryption dictionary.
@@ -397,6 +398,7 @@ class DLL_EXPORT QPDF
std::vector<QPDFObjectHandle>& result);
// methods to support encryption -- implemented in QPDF_encryption.cc
+ encryption_method_e interpretCF(QPDFObjectHandle);
void initializeEncryption();
std::string getKeyForObject(int objid, int generation, bool use_aes);
void decryptString(std::string&, int objid, int generation);
@@ -739,7 +741,10 @@ class DLL_EXPORT QPDF
bool attempt_recovery;
int encryption_V;
bool encrypt_metadata;
- QPDFObjectHandle encryption_dictionary;
+ std::map<std::string, encryption_method_e> crypt_filters;
+ encryption_method_e cf_stream;
+ encryption_method_e cf_string;
+ encryption_method_e cf_file;
std::string provided_password;
std::string user_password;
std::string encryption_key;