契約の複数の延長

WBOY
リリース: 2024-02-12 17:15:05
転載
776 人が閲覧しました

質問内容

itextを使用してpdfファイルに署名するを複数回できるようになりたいと思っています。しかし、私は秘密鍵を持っていません。クライアントが署名するハッシュを生成し、再署名した後、signDeferred() を呼び出します。複数の空のコンテナを作成し、すべての空のコンテナでハッシュを生成し、表示される署名を追加することは可能ですか?

複数の空のコンテナを追加してハッシュを生成し、クライアントが署名してハッシュを返しました。追加しようとしましたが、最後のフィールドではないというエラーが発生しました。 signDeferred は最後のフィールドでのみ呼び出すことができます。しかし、秘密キーを持っていないため、signDetached はオプションではないため、それを修正する方法がわかりません。

回避策

いいえ、少なくとも相互運用可能な PDF 署名ではこれは不可能です。

その理由は、PDF には並列署名 (または副署名) という実際の概念が指定されておらず、署名が次々に追加されるシリアル署名の概念のみがあり、新しい署名ごとに以前のすべての署名も上書きされるためです。

(詳細については、この回答を参照してください。)

厳密に言えば、PDF 仕様では、署名コンテナ自体に埋め込まれたプレースホルダーを除き、すべてのリビジョン全体をカバーするための 署名が 必要ではなく、単に 推奨しているだけです。したがって、理論的には、埋め込まれたすべての署名値を除く PDF 全体をそれぞれがカバーする複数の署名を持つ PDF を作成することが可能です。

しかし、実際には、PDF 署名検証ツールはそのような構造を拒否します。さらに、より新しい署名プロファイル (特に PAdES ベースライン プロファイル)

では、署名付きコンテナー プレースホルダーを除くすべてのリビジョン全体をカバーするために 署名が必要です。

以上が契約の複数の延長の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:stackoverflow.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート