I'm trying out OCSP verification, and I'm not sure I'm following all that's going on.

The requester can send 1-N certificate IDs, each has issuer hashes/serial no. The responder generates the counter-list, where for each requested item, there is an answer on the OCSP status. In addition, the whole response is signed.

We can say, that for each request/response items, there are the following variables:

  • Issuer (can be different for each requested item)
  • Responder certificate (there is only ONE of those per whole response)
  • Responder CA certificate (there is only ONE of those per whole response)

OpenSSL (from ocsp(1ssl)), tells the following about the verification process:

  1. Check Responder against local trust. This is just standard X.509 verification.
  2. If Issuer = Responder, signal success.
  3. If Issuer = Responder CA, and there is OCSPSigning EKU in Responder, signal success
  4. If Responder CA has OCSPSigning EKU, then signal success.
  5. Fail miserably.

What's most confusing to me is that it seems to be possible to stick different issuers in the request, but you can only have one responder or its CA in the response. So checks #2 and #3 are impossible to satisfy in all possible cases (comparing multitude of issuers to a single responder). Am I missing some point here?

1 Answer 1


You can send N cent ids in one ocsp request, but all the issuer hash of cert ids must be the same. That's to say, all the certs you reqeusting must be signed by the same CA. You can check the source code of "ocsp_match_issuerid" to confirm that.

  • Your answer could be improved with additional supporting information. Please edit to add further details, such as citations or documentation, so that others can confirm that your answer is correct. You can find more information on how to write good answers in the help center.
    – Community Bot
    Commented May 9, 2023 at 12:24

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .