diff options
author | Robin Watts <robin.watts@artifex.com> | 2017-12-07 18:31:37 +0000 |
---|---|---|
committer | Robin Watts <robin.watts@artifex.com> | 2018-01-05 11:47:08 +0000 |
commit | fd0bf575229a79bc22901b0bd8ba4dbd356faa22 (patch) | |
tree | 3041da3cb23e3df8fda8f7f9cb0f8fdcdb94a626 /platform/x11/pdfapp.c | |
parent | 25593f4f9df0c4a9b9adaa84aaa33fe2a89087f6 (diff) | |
download | mupdf-fd0bf575229a79bc22901b0bd8ba4dbd356faa22.tar.xz |
Enable saving of encrypted PDF files.
We need both RC4 and AES encryption. RC4 is a straight reversable
stream, and our AES library knows how to encrypt as well as decrypt,
so it's "just" a matter of calling them correctly.
We therefore expose a generic "encrypt this data" routine (and a
matching "how long will the data be once encrypted" routine) within
pdf-crypt.c.
We then extend our our PDF object output routines to call these.
This is enough to get encrypted data preserved over calls to mutool
clean. Unfortunately the created files aren't readable, due to 2
further problems, also fixed here.
Firstly, mutool clean does not preserve the Encrypt entry in the
trailer. This is a simple fix.
Secondly, we are required NOT to encrypt the Encrypt entry. This
requires us to spot the crypt entry and to special case it.
Diffstat (limited to 'platform/x11/pdfapp.c')
0 files changed, 0 insertions, 0 deletions