0

そこの!私はpdfbox 1.8.11を使用してpdf署名を行っています。DSS辞書が埋め込まれたLTV対応の署名を作成できました。問題は、複数の署名がある場合の証明書の検証です。

PDF 2.0 LTV および PAdES LTV 仕様に従って、各署名に VRI を追加することが許可されているため、特定の署名ごとに関連する失効データを検証できます。

署名に VRI 辞書を追加する方法はありますか? VRI のキーは base-16 でエンコードされたハッシュであるため、最初に署名が必要です。私の知る限り(私が間違っていたことを願っています)、署名関連情報を含むPDFが出力ストリームに保存されると、署名が作成されます。( PDDocument.saveIncremental(ins, outs))

================================================== ==========

より詳細に:

PAdES LTV および PDF 2.0 LTV 仕様に従って DSS データに対して署名を検証したいときに、この問題に遭遇しました。最初の焦点は、PDF 2.0 LTV 仕様です。

私が正しく理解している場合:

  1. DSS には、署名済み PDF に含まれるすべての署名の失効データが含まれています。

私が遭遇した状況: 仮定: ユーザー A とユーザー B の 2 人のユーザーがいて、それらの証明書は同じ CA によって発行されています。(よくあることだと思います。)

  1. ユーザー A が DSS でドキュメントに署名しました (certs/crls/ocps が埋め込まれています)。
  2. 数日後、ユーザー B はユーザー A の署名付きドキュメントに DSS (certs/crls/ocps) で署名します。注!: crl は発行者 ID によって識別されます。

署名検証フェーズ:

証明書チェーンを再構築したい場合は、crls と ocsps に対して署名証明書を検証します。特に、ドキュメントが署名された時点で crl の有効期限が切れていないことを確認したい場合は、正しいものを使用していることを確認する必要があります。 Crl のバージョン。

私にとっては、署名に正しくマッピングされた certs/crls/ocsps を確認する必要があることを意味します。それ以外の場合、検証はもはや信頼できますが、同様に無意味です。

したがって、最新の PAdES 仕様 103 では VRI の使用は推奨されていません。さすがに、もったいないと思います……。

次に別の問題:

以下にコメントしたように、pdfbox を使用して pdf に署名しています。

  1. 事前に DSS データを収集した場合は、後で署名を作成します。(実際には、DSS も署名付きコンテンツの一部です。)

    • 良いこと: acrobat リーダーは、私の署名が LTV 対応であることを認識します。
    • 悪い点: そのような状況では、そこに VRI を追加することができません。VRI のキーは、署名のハッシュ値です。
  2. 最初にドキュメントに署名し、その後 VRI で署名と DSS を取得すると、Acrobat Reader は DSS を認識しなくなります。私の署名は、もはや acrobat リーダーに対して有効な LTV ではありません。それは私が混乱している問題です。LTV検証でアクロバットリーダーが間違っているのか??

私はそれが間違っていると思いますか?私が間違って理解したことがあれば、それを指摘してください。前もって感謝します!

4

1 に答える 1