« 2007年05月30日 | メイン | 2007年06月01日 »

2007年05月31日

PDFと署名(35) — PFUのタイムスタンプ検証プラグインへの疑問

先日、PFUのタイムスタンプ検証プラグインについて、疑問を感じている旨をお話しました。

PDFと署名(33) — PDF署名の検証の互換性にはまる!

その後、なかなか調べる時間がとれず、と言いますか、分からないことを勉強する時間が取れないというのが、本当のところなんですが、調査は遅遅として進んでいませんが、とりあえず、ひとつ気になることがあります。

ダウンロードした検証プログラムに添付のマニュアルを読んでいましたら、このマニュアルには、PFUタイムスタンプはAcrobatのデフォルトハンドラで検証できない、と書いてあります。引用しますと、

「PFU タイムスタンプの使い方」2006年5月版 P.57/60 より 
「9.2 他のAcrobat 署名プラグインによる検証について
本製品を使用して取得したタイムスタンプ付き署名を、以下に挙げるようなAcrobat署名プラグインで検証すると、正しい検証結果を得られません。本製品とは異なる検証結果が得られますが、本製品による検証結果が正しい結果です。」

として、Acrobat 8のデフォルトハンドラが、検証できないハンドラのリストに含まれています。

しかし、このようになるのは、PDF Reference違反ではないでしょうか?

前回、PFUのサンプルPDFの署名辞書には、次のエントリがあります。

/SubFilter/adbe.pkcs7.sha1

このSubFilterエントリは、オプションですので、必須ではありません。そして、この説明に、
(Optional) A name that describes the encoding of the signature value and key information in the signature dictionary. An application may use any handler that supports this format to validate the signature.

とあります。これを見ますと、アプリケーションは、SubFilterで説明したフォーマットサポートする任意のハンドラを、署名を検証するのに使って良いと書いてあります。

ですので、PFUのサンプルPDFは、adbe.pkcs7.sha1をサポートするハンドラで署名を検証することを許していることになります。もし、PFUのハンドラで作った署名をAcrobatのデフォルトハンドラで検証できないのであれば、/SubFilter/adbe.pkcs7.sha1というエントリを作成してはならないのではないでしょうか?

これは、Acrobat SDKの方の問題なのかもしれません。いずれにしても、電子署名の検証を許されるハンドラが、正反対の検証結果を出してしまうのはちょっと解せません。正反対の結果をだすようなハンドラには検証を許さないようにさせないといけないのではないでしょうか。そのためには、SubFilterエントリを作らないようにすれば良いと思います。(まだ、確認したわけではないです。)

投票をお願いいたします

投稿者 koba : 08:00 | コメント (0) | トラックバック