Commit 9b76ec154dfe001f599c4ae495de7a419d639562

Authored by Jay Berkenbilt
1 parent 5a842792

Add ChangeLog and documentation for signature dict enhancements

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 &quot;\n&quot;; @@ -4365,6 +4365,45 @@ print &quot;\n&quot;;
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>