summaryrefslogtreecommitdiffstats
path: root/libqpdf/qpdf
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2012-12-29 16:43:46 +0100
committerJay Berkenbilt <ejb@ql.org>2012-12-31 11:36:50 +0100
commit3680922ae5efbf544afcfa3dd72e2f1db336c45f (patch)
treedf0e45261d1b70de9d4e9e807a6a6b507d0a5200 /libqpdf/qpdf
parent9b42f526dffd5e1518ff3d83564eb09111ac5f0d (diff)
downloadqpdf-3680922ae5efbf544afcfa3dd72e2f1db336c45f.tar.zst
Allow specification of AES initialization vector
Diffstat (limited to 'libqpdf/qpdf')
-rw-r--r--libqpdf/qpdf/Pl_AES_PDF.hh6
1 files changed, 6 insertions, 0 deletions
diff --git a/libqpdf/qpdf/Pl_AES_PDF.hh b/libqpdf/qpdf/Pl_AES_PDF.hh
index 72f82229..9aa73ad6 100644
--- a/libqpdf/qpdf/Pl_AES_PDF.hh
+++ b/libqpdf/qpdf/Pl_AES_PDF.hh
@@ -31,6 +31,10 @@ class Pl_AES_PDF: public Pipeline
// Disable padding; needed for AESV3
QPDF_DLL
void disablePadding();
+ // Specify an initialization vector, which will not be included in
+ // the output.
+ QPDF_DLL
+ void setIV(unsigned char const* iv, size_t bytes);
// For testing only; PDF always uses CBC
QPDF_DLL
@@ -55,8 +59,10 @@ class Pl_AES_PDF: public Pipeline
unsigned char inbuf[buf_size];
unsigned char outbuf[buf_size];
unsigned char cbc_block[buf_size];
+ unsigned char specified_iv[buf_size];
unsigned int nrounds;
bool use_zero_iv;
+ bool use_specified_iv;
bool disable_padding;
};