Commit 9b76ec154dfe001f599c4ae495de7a419d639562
1 parent
5a842792
Add ChangeLog and documentation for signature dict enhancements
Showing
2 changed files
with
65 additions
and
0 deletions
ChangeLog
| 1 | +2019-10-22 Jay Berkenbilt <ejb@ql.org> | ||
| 2 | + | ||
| 3 | + * Incorporate changes from Masamichi Hosoda <trueroad@trueroad.jp> | ||
| 4 | + to properly handle signature in the following ways: | ||
| 5 | + - Always represent /Contents in a signature dictionary as a hex | ||
| 6 | + string | ||
| 7 | + - Do not compress signature dictionaries when generating object | ||
| 8 | + streams | ||
| 9 | + - Do not encrypt/decrypt the /Contents field of the signature | ||
| 10 | + dictionary when creating or reading encrypted files | ||
| 11 | + | ||
| 12 | + * Incorporate changes from Masamichi Hosoda <trueroad@trueroad.jp> | ||
| 13 | + to add additional methods for making it possible to gain deeper | ||
| 14 | + insight into cross reference tables and object renumbering. These | ||
| 15 | + new API calls make it possible for applications to go into PDF | ||
| 16 | + files created by qpdf and make changes to them that go beyond | ||
| 17 | + working with the PDF at the object level. The specific use case | ||
| 18 | + for these changes was to write an external tool to perform digital | ||
| 19 | + signature, but there could be other uses as well. New methods | ||
| 20 | + include the following, all of which are described in their | ||
| 21 | + respective headers: | ||
| 22 | + - QPDF::getXRefTable() | ||
| 23 | + - QPDFObjectHandle::getParsedOffset() | ||
| 24 | + - QPDFWriter::getRenumberedObjGen(QPDFObjGen) | ||
| 25 | + - QPDFWriter::getWrittenXRefTable() | ||
| 26 | + | ||
| 1 | 2019-10-12 Jay Berkenbilt <ejb@ql.org> | 27 | 2019-10-12 Jay Berkenbilt <ejb@ql.org> |
| 2 | 28 | ||
| 3 | * 9.0.2: release | 29 | * 9.0.2: release |
manual/qpdf-manual.xml
| @@ -4365,6 +4365,45 @@ print "\n"; | @@ -4365,6 +4365,45 @@ print "\n"; | ||
| 4365 | </para> | 4365 | </para> |
| 4366 | <variablelist> | 4366 | <variablelist> |
| 4367 | <varlistentry> | 4367 | <varlistentry> |
| 4368 | + <term>9.1.0: XXX</term> | ||
| 4369 | + <listitem> | ||
| 4370 | + <itemizedlist> | ||
| 4371 | + <listitem> | ||
| 4372 | + <para> | ||
| 4373 | + Library Enhancements | ||
| 4374 | + </para> | ||
| 4375 | + <itemizedlist> | ||
| 4376 | + <listitem> | ||
| 4377 | + <para> | ||
| 4378 | + Incorporate contribution from Masamichi Hosoda to | ||
| 4379 | + properly handle signature dictionaries by not including | ||
| 4380 | + them in object streams, formatting the | ||
| 4381 | + <literal>/Contents</literal> key has a hexadecimal | ||
| 4382 | + string, and excluding the <literal>/Contents</literal> | ||
| 4383 | + key from encryption and decryption. | ||
| 4384 | + </para> | ||
| 4385 | + </listitem> | ||
| 4386 | + <listitem> | ||
| 4387 | + <para> | ||
| 4388 | + Incorporate contribution from Masamichi Hosoda to provide | ||
| 4389 | + new API calls for getting file-level information about | ||
| 4390 | + input and output files, enabling certain operations on | ||
| 4391 | + the files at the file level rather than the object level. | ||
| 4392 | + New methods include | ||
| 4393 | + <function>QPDF::getXRefTable()</function>, | ||
| 4394 | + <function>QPDFObjectHandle::getParsedOffset()</function>, | ||
| 4395 | + <function>QPDFWriter::getRenumberedObjGen(QPDFObjGen)</function>, | ||
| 4396 | + and <function>QPDFWriter::getWrittenXRefTable()</function>. | ||
| 4397 | + </para> | ||
| 4398 | + </listitem> | ||
| 4399 | + </itemizedlist> | ||
| 4400 | + </listitem> | ||
| 4401 | + </itemizedlist> | ||
| 4402 | + </listitem> | ||
| 4403 | + </varlistentry> | ||
| 4404 | + </variablelist> | ||
| 4405 | + <variablelist> | ||
| 4406 | + <varlistentry> | ||
| 4368 | <term>9.0.2: October 12, 2019</term> | 4407 | <term>9.0.2: October 12, 2019</term> |
| 4369 | <listitem> | 4408 | <listitem> |
| 4370 | <itemizedlist> | 4409 | <itemizedlist> |