2014-02-20 45 views
1

爲什麼PDF閱讀器不顯示嵌入式OCSP響應?PDF閱讀器撤銷選項卡不顯示OCSP響應

我還沒有使用crlClient:

MakeSignature.signDetached(sap, new BouncyCastleDigest(), es, chain, null, ocspClient, tsClient, 0, MakeSignature.CryptoStandard.CMS); 
// chain[0] - signer certificate 
// chain[1] - OperCA certificate (signer's issuer) 
// chain[2] - RootCA (OperCA's issuer) 

PDF撤銷標籤信息顯示:因爲它沒有 出現在證書吊銷列表

選定的證書被認爲是有效的(CRL )包含在 本地緩存中。

CRL由「B-Trust Operational CA QES < [隱藏的電子郵件]>」於2014/02/19 07:53:35 + 02'00'簽署,並且有效期至2014/03/21 07: 53:35 + 02'00'。

我想從Bruno Lowagie的免費白皮書文檔中實現圖3.8帶嵌入式OCSP響應的數字簽名。

我該做什麼錯或錯過?

這裏是Certification pathsample pdf

最好的問候,華倫天奴

+0

我想你沒有得到一個答案,因爲沒有什麼可以測試:你沒有使用'的LoggerFactory '寫在簽字過程中採取的所有行動。如果您已經完成併發布了輸出,則可以看到(1)證書是否支持OCSP,以及(2)OCSP服務器是否已成功聯繫。我們也沒有得到PDF來檢查PDF內是否實際存在OCSP響應。至於Adobe Reader顯示的信息:它清楚地表明CRL是從本地緩存中讀取的。這意味着CRL沒有存儲在PDF中。它由Adobe Reader下載並緩存。 –

+0

我已經通過添加PDF樣本和證書鏈的鏈接編輯了我的帖子。當我使用LoggerFactory.getInstance()。setLogger(new SysoLogger());我只得到: INFO從http://ocsp.b-trust.org獲取OCSP –

+0

簽名包含恰好一個OCSP響應並且沒有CRL。有趣的是,我的機器上的Adobe Reader表示他們使用* embedded CRL *來檢查CA證書的撤銷。我假設有一些混淆,他們實際上是指OCSP的反應。儘管如此,不要指望驗證軟件使用您在PDF中提供的信息。如果它(爲什麼有理由)更喜歡其他輸入,則可以自由使用它。 – mkl

回答

1

實際的問題是,即使PDF內嵌了唯一的OCSP響應, Acrobat Reader軟件不會表現出來,但顯示本地CRL來代替。

這是由於不符合RFC6460或RFC2560 OCSP證書引起的。

錯誤OCSP證書路徑:

Root CA -> Operational CA -> Client certificates (certificates checked with OCSP) 
Root CA -> OCSP 

右OCSP證書路徑:

Root CA -> Operational CA -> Client certificates (certificates checked with OCSP) 
      Operational CA -> OCSP