« 『Antenna House PDF Driver 3.2』5ライセンスパックを発売 | メイン | PDFと署名(43) — 署名と増分更新(続き) »
2007年06月18日
PDFと署名(42) — 署名と増分更新
先日は、PDFの内容を変更した場合、増分更新という保存方法があることをお話しました。
・2007年06月11日PDFと署名(39) — PDFの増分更新
・2007年06月12日 PDFと署名(40) — PDFの増分更新(続き)
増分更新の特徴については、次のように整理できます。
(1) PDFファイルの最後は%%EOFですが、PDFを増分更新すると更新する前のPDFファイルの%%EOFの後ろに更新情報が追加されます。
(2)更新前のPDFに対して、追加した内容だけではなく、更新前のPDFから削除・変更した内容も追加情報として扱われます。
(3)更新部分は、旧版PDFの終わりの%%EOFから更新後のPDFの終わりの%%EOFまでの間に保存され、%%EOFの数はPDFの改訂された版数に対応します。
(4)そこで、増分更新だけを使って更新したPDFであれば、当該の版に対応する%%EOFまでの情報を取り出すことで、改訂前の版のPDFに遡ることができることになります。
通常のPDFでは変更して保存した場合に増分更新しなければならないと決まっている訳ではありません。むしろ、増分更新では、削除した情報を抱えることになる結果、PDFが冗長になりますし、リニアライズ(Web最適化)という面からは望ましくないとも言えます。
例えば、Acrobat8では、「名前をつけて保存」では増分更新となりません。「上書き保存」とすると増分更新となりますが、しかし、PDFの途中のページを丸ごと削除してしまうと、「上書き保存」しても増分更新になりません。
ところが、「PDFに一旦署名をすると、PDFへのあらゆる変更は増分更新としなければなりません。」(PDF Reference 1.7 p.99。 この記述はPDF 1.4から追加された。)
そこで、電子署名に対応するPDFアプリケーションは、電子署名されたPDFを変更する場合は増分更新しなければなりません。この結果、電子署名したPDFについては、旧版のPDFを取り出すことができることになります。
なお、Acrobatでは電子署名PDFに名前をつけて保存するときの機能がバージョンによって少し違うようです。「Digital Signatures in the PDF Language」に次のような一文があります。
---ここから---
最初のAcrobat は、Save As コマンドを使用するとPDF ファイルの中でもはや使われてい
ないオブジェクトを削除し、その結果すべてのファイルを、増分更新セクションのない単純な
PDF ファイルとして保存した。この結果、既存の電子署名を無効にしてしまう。そこで、よ
り最近のAcrobat は、もし電子署名がファイルの中に存在すると増分更新セクションを最適化し
ないようになった。そこで、Acrobat 5 を使っているならば、Save コマンドだけを
使い、Save As コマンドを使ってはならない。または、Acrobat 6 以上を使うこと。
---ここまで---
これを見ますと、Acrobat 6で電子署名PDFのSaveAs機能を変更したと理解できます。
投稿者 koba : 2007年06月18日 08:00
トラックバック
このエントリーのトラックバックURL:
http://blog.antenna.co.jp/PDFTool/mt-tbng2.cgi/723