2013-07-22 45 views
0

我剛剛簽署文件。並添加LTV(使用Document Secure Story和TSA);但Adobe Reader告訴我LTV未啓用。ocsps沒有顯示,但我在DSS

我發現了這個問題。 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); 

是不是足夠添加OCSPs?

enter image description here

本人簽收像PADES-BES文件。它需要VRI嗎?我知道這個ID不需要。

這是樣品

PDF Document

+0

我剛剛向DSS添加CRL並顯示它們。但不包括OCSP的迴應。 (他們沒有嵌入) – grep

+0

這是一個新的趨勢?在提問有關PDFBox的問題時,將'iText'添加爲標籤? –

+0

Lowagie - 首先我尊重你的知識,你也是。沒有它對Itext開發者的問題,因爲他們擁有豐富的知識,並且他們已經在數字簽名中創造了一切。如果我的標籤不正確,我很抱歉。 :-) – grep

回答

1

附錄A.1規格ETSI TS 102 778-4(又名的PAdES第4部分)文檔安全存儲需要OCSPs的在DSS字典項值是

流的一個數組(間接引用),每個包含採用BER編碼的在線證書狀態協議(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規範)

也許你不知道,你只能用這個內部對象,因爲很多安全庫在請求OCSP響應解開原始OCSPResponse,檢查包含的OCSPResponseStatus,和(如果它表示成功)只返回包含的BasicOCSPResponse或(否則)拋出一些異常。

如果是這樣的話,你可以簡單地把它插入到文檔之前,使用OCSPResponseStatus價值successful (0)包裝您在OCSPResponseBasicOCSPResponse