Could someone please help me on the following?
RFC2560 defines when an OCSP responder certificate (sigining the response) could be accepted:
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."
My question is:
If the certificate of the OCSP responder is signed by the Trust Anchor of the validation path, is it also considered accepted?
I have the impression that it should be, but this is not stated explicitely above from RFC and could not found an explicit reference on this.
From my reading of the RFC though is that even if it is signed by the TA, it is still is not valid for OCSP response.
Any help is appreciated
Примечание. Я работаю над этим на java, если это имеет значение
ОБНОВЛЕНИЕ:
В разделе 2.2 RFC:
Все окончательные ответные сообщения ДОЛЖЕН быть подписан цифровой подписью. Ключ
используется для подписи ответа ДОЛЖНО принадлежать одному из следующих:- центр сертификации, выдавший рассматриваемый сертификат
- Доверенный ответчик, открытый ключ которого доверяет запрашивающая сторона
- Назначенный ответчик СА (Авторизованный ответчик), у которого есть специально помеченный сертификат, выданный непосредственно СА, что указывает на то, что ответчик может выдавать ответы OCSP для этого СА
Пункт 2 мне кажется неоднозначным.
Это может означать:
a) Любой PK доверяет, поэтому приемлем якорь доверия
или
b) Have the meaning of point (1) in the first quotation, which means preconfigure a certificate (any) to trust as being the OCSP responder's as for example is done in java here:
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);