0

Acrobat 9を使用して、自己署名証明書を使用してPDFに署名し、署名後にPDFを編集すると、Acrobatはドキュメントに有効な署名があるが、ドキュメントにも署名されていない変更があることを通知します。次にPDFに再度署名して署名パネルを見ると、有効な署名が付いた最初の署名付きリビジョンが表示され、最初のリビジョンが署名された後に変更が加えられたことを示し、有効な署名が付いた2番目の署名付きリビジョンが表示されます。

iTextSharpを使用してその動作を複製しようとしています。コードでは、PDFを作成して署名します。次に、PDFを編集して再度署名します。ドキュメントをAcrobatで開くと、両方のリビジョンが表示されますが、ドキュメントが変更されたため、最初のリビジョンが無効な署名としてマークされます。私が収集できることから、iTextSharpは、そのドキュメント内の最初のリビジョンだけでなく、ドキュメント全体に署名していると思います。PdfStamperコンストラクターとPdfSignatureAppearanceコンストラクターの両方でAppendパラメーターをtrueに設定しましたが、効果がないようです。

Acrobatを使用して目的の結果を得ることができるので、iTextSharpを正しく使用していないと想定しています。誰かがこれに光を当てることができますか?

4

2 に答える 2

1

完全に書き直すのではなく、既存のPDFを更新する必要があります。更新を有効にするには、次の属性をtrueに設定します。

PdfReader reader;
...
reader.Appendable = true;
于 2009-12-16T20:01:23.013 に答える
0

アドビは、私が推測するレイヤーでこれを行います。PDF の各リビジョンは、おそらく異なるレイヤーに配置されてから署名されます。iText がレイヤーをサポートしている場合は、同様の方法で実行できる場合があります。

于 2011-05-09T04:16:32.033 に答える