« 2007年09月03日 | メイン | 2007年09月05日 »

2007年09月04日

PDF電子署名モジュール V1.0 ブログ・デモ (2)

昨日は、PDFに電子署名をしますと、そのPDFが文書のバージョンとして確定することをお話しました。Adobeのリーダでは、PDF電子署名を選択し、署名バージョンを表示としますと、署名後に追加された情報を取り除き、署名した時点での状態を表示できます。

例えば、最初の署名を選択して、「署名バージョンを表示」とします。
SignedVersion1.GIF

そうしますと、次の図のように、最初の署名時のPDFの状態を画面に表示します。
ViewVer1.GIF

PDF電子署名モジュールによるPDFへの署名は、以上に説明しましたように、Acrobat8による署名と同様に取り扱うことができます。

■PDF電子署名モジュールV1.0の署名検証機能

PDF電子署名モジュールは、PDFの電子署名を様々な側面から検証する機能もあります。

(1)PDFの署名フィールドリストの表示

昨日、作成しました最後のPDF(管理者が署名したもの)の署名フィールドの一覧を取ることができます。コマンドラインでは次のようにします。

PdsCmd -verify -sigfldlist -in Shinsei7.pd
1 "Field1" 署名済み 署名後修正あり
2 "Field2" 署名済み 署名後修正あり
3 "Field3" 署名済み 署名後修正無し

このように署名フィールドの一覧を表示すると共に、署名済みか、署名後修正があったかどうかを表示します。

(2)署名フィールドの状態をチェックする機能があります。次のように使います。

PdsCmd -verify -profile 1 -in Shinsei7.pdf
Signature field Number = 1
Signature field Name = Field1
Signature field Page = 1
Signature field Rect = 460 / 645 / 500 / 685
Signed = Yes. (modified)
Signature Dict Name = Hanako Sato
Signature Dict Date = 20070902150038+0900
Signature Dict Reason =
Signature Dict Location =
Signature Dict ContactInfo =
Signature Data Subject name = Hanako Sato
Signature Data Issuer name = Hanako Sato
Timestamped = No.

署名フィールドの大きさ(位置)、署名されているかどうか、証明書の名前、署名日時などの状態を表示します。

(3)すべての署名を一括で検証します。次のように入力します。

PdsCmd -verify -all -in Shinsei7.pdf
Verify [1] : 検証結果は有効ですが署名後に修正されています。
Certificates [1] : ルート証明書の信頼性が確認できません。
Verify [2] : 検証結果は有効ですが署名後に修正されています。
Certificates [2] : ルート証明書の信頼性が確認できません。
Verify [3] : 検証結果は有効です。
Certificates [3] : ルート証明書の信頼性が確認できません。

署名の検証と証明書の検証の結果を表示します。上の例で、「 ルート証明書の信頼性が確認できません。」となるのは、この署名に使用した証明書が、自己署名証明書で自分自身がルート証明書なのですが、Windows証明書ストアで信頼できるルート証明書に登録されていないためです。

(4)署名バージョンを得る。
署名時点のPDFを取得することができます。例えば、最初の署名時点のPDFを取得するには次のようにします。

PdsCmd -verify -getpdf 1 -in Shinsei7.pdf -out Shisei-ver1.pdf

出力されたPDFは、最初の署名時点のPDFであり、昨日のShinsei3.pdfと同じものとなります。
200709041.GIF

投票をお願いいたします

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