0

書類にサインしたところです。LTV も追加します (ドキュメント セキュア ストーリーと TSA を使用)。しかし、アドビリーダーは、LTVが有効になっていないと言っています。

問題が見つかりました。Adobe Reader によると、ドキュメントに OCSP が埋め込まれていません。

タイムスタンプを追加した後、DSS 辞書を作成し、証明書と ocsp 応答を追加するだけです。

        PDDocumentCatalog catalog = template.getDocumentCatalog();
        COSDictionary catalogDictionary = catalog.getCOSDictionary();
        COSDictionary dssDictionary = new COSDictionary();

        COSArray cosOcsps = CertUtils.getOcspResponseCosArray(ocspResp);
        COSArray cosCerts = CertUtils.getCertificateCosArray(certs);

        dssDictionary.setItem(COSName.getPDFName("Certs"), cosCerts);
        dssDictionary.setItem(COSName.getPDFName("OCSPs"), cosOcsps);
        catalogDictionary.setItem(COSName.getPDFName("DSS"), dssDictionary);

OCSP を追加するのに十分ではありませんか?

ここに画像の説明を入力

私は Pades-BES のような文書に署名します。VRIが必要ですか?IDが必要ないことはわかっています。

それはサンプルです

PDF文書

4

1 に答える 1

1

Annex A.1ドキュメント セキュリティ ストアのETSI TS 102 778-4 (別名 PAdES パート 4)の仕様では、 DSSディクショナリのOCSPsエントリの値を次のようにする必要があります。

BER でエンコードされた Online Certificate Status Protocol (OCSP) 応答を含む (間接参照) ストリームの配列 (RFC 2560 [8] を参照)。この配列には、ドキュメント内の署名の検証に使用できる OCSP が含まれています。

一方、受け取った元のオブジェクトに含まBasicOCSPResponseれていたオブジェクトの配列のみを使用しました。OCSPResponse

OCSPResponse ::= SEQUENCE {
  responseStatus OCSPResponseStatus,
  responseBytes  [0] EXPLICIT ResponseBytes OPTIONAL }

ResponseBytes ::= SEQUENCE {
   responseType   OBJECT IDENTIFIER,
   response       OCTET STRING }

For a basic OCSP responder, responseType will be id-pkix-ocsp-basic.

The value for response SHALL be the DER encoding of BasicOCSPResponse.

BasicOCSPResponse ::= SEQUENCE {
  tbsResponseData     ResponseData,
  signatureAlgorithm  AlgorithmIdentifier,
  signature           BIT STRING,
  certs               [0] EXPLICIT SEQUENCE OF Certificate OPTIONAL }

( RFC 2560の OCSP 応答のセクション 4.2.1 ASN.1 仕様から)

OCSPResponse,多くのセキュリティ ライブラリは、OCSP 応答を要求した後、含まれている元のチェックをアンラップし、OCSPResponseStatus,(成功を示している場合) 含まれているもののみを返すBasicOCSPResponseか、(そうでない場合) いくつかの例外をスローするため、この内部オブジェクトのみを使用したことに気付いていない可能性があります。

その場合は、ドキュメントに挿入する前に、値を使用してBasicOCSPResponse単にラップすることができます。OCSPResponseOCSPResponseStatussuccessful (0)

于 2013-07-24T08:17:36.890 に答える