我是否应该接受信托锚签署的OCSP响应者证书?

时间:2011-05-04 19:42:46

标签: java security cryptography pki ocsp

有人可以帮我解决以下事项吗? RFC2560定义何时可以接受OCSP响应者证书(签署响应):

   1. Matches a local configuration of OCSP signing authority for the
   certificate in question; or

   2. Is the certificate of the CA that issued the certificate in
   question; or

   3. Includes a value of id-ad-ocspSigning in an ExtendedKeyUsage
   extension and is issued by the CA that issued the certificate in
   question."

我的问题是:
如果OCSP响应者的证书由验证路径的信任锚签名,它是否也被认为是被接受的? 我的印象应该是,但这并没有在RFC上明确说明,也没有找到明确的参考。

从我对RFC的阅读来看,即使它是由TA签署的,它仍然对OCSP响应无效。
任何帮助表示赞赏 注意:我正在使用java,以防它重要

更新
在RFC的2.2节中:

  

所有明确的回复消息   应进行数字签名。钥匙
  用于签署必须属于的响应   以下之一:

     

- 发布的CA.   有问题的证书
   - 一个受信任的响应者,其公钥由请求者信任    - CA指定响应者(授权响应者),持有CA直接颁发的特殊标记证书,表明响应者可以为该CA颁发OCSP响应

第2点对我来说似乎含糊不清 这可能意味着:
a)任何PK信任,所以信任锚是可以接受的 或
b)在第一个引用中具有point(1)的含义,这意味着预先配置一个证书(any)作为OCSP响应者的信任,例如在java中完成:

   Security.setProperty("ocsp.responderCertSubjectName",ocspCert.getSubjectDN().getName));
   List<X509Certificate> list = new ArrayList<X509Certificate>();
   list.add(ocspCert);
   CollectionCertStoreParameters p = new CollectionCertStoreParameters(list);  
   CertStore store = CertStore.getInstance("Collection", p);
   PKIXParameters params = new PKIXParameters(Collections.singleton(anchor));
   params.addCertStore(store);      

1 个答案:

答案 0 :(得分:3)

在RFC 2560中,这些意思是:

1. Matches a local configuration of OCSP signing authority for the
certificate in question; or

→只要你一直意识到自己在做什么,你就可以做你想做的事。这是“全能”条款,这意味着无论你做什么,你很可能都符合RFC 2560。但是,如果您是OCSP响应的制作者,您将希望避免使用该许可证成为标准,因为您希望您的回复用户接受它们,即使他们没有相同的“本地配置”比你。

2. Is the certificate of the CA that issued the certificate in
question; or

→棘手的一点是Trust Anchor 是CA.它不是由证书正式表示的(尽管在许多系统中,信任锚被编码为自签名证书);但它颁发证书,因此是证书颁发机构。在这种情况下,如果OCSP响应是使用TA密钥签署的。

3. Includes a value of id-ad-ocspSigning in an ExtendedKeyUsage
extension and is issued by the CA that issued the certificate in
question."

→与上述类似,OCSP响应者签署证书X的答案,其中X似乎是由TA颁发的,可以使用也由同一TA颁发的响应者证书R - 由此,I表示X和R都是由证书颁发机构颁发的,其名称和密钥用作信任锚。

这三种情况描述了应由接收 OCSP响应的人执行的验证步骤,并希望将其用作证书路径验证的一部分。 RFC的2.2节是关于OCSP响应者的职责:

All definitive response messages SHALL be digitally signed. The key
used to sign the response MUST belong to one of the following:

-- the CA who issued the certificate in question
-- a Trusted Responder whose public key is trusted by the requester
-- a CA Designated Responder (Authorized Responder) who holds a specially
   marked certificate issued directly by the CA, indicating that the responder
   may issue OCSP responses for that CA

这三种情况与上面详细说明的接收器匹配,符合“2,1,3”的顺序。同样,“颁发证书的CA”可以是其名称和公钥将被接收者用作信任锚的实体。