Subject: [TLS] RFC 3456 - OCSP extension question

From: Joshua Ball <[email-masked]>
Date: Tue, 17 Oct 2006 14:49:32 -0700

In regards to the implementation of RFC 3546, in particular the OCSP extension. When the client does not wish to send any list of responders, what is the correct sequence to send (as a zero length vector apparently has a special meaning). It would appear (with my naïve understanding of RFC 2560) that it would be a list of ResponderID's (from RFC2560). But ResponderID's are CHOICE's, and I am not versed in my ASN.1 enough to know if there is a way to write zero of these).

So what are the ASN.1 and DER of the correct response for no list. Thanks.

      struct {

          CertificateStatusType status_type;

          select (status_type) {

              case ocsp: OCSPStatusRequest;

          } request;

      } CertificateStatusRequest;

      enum { ocsp(1), (255) } CertificateStatusType;

      struct {

          ResponderID responder_id_list<0..2^16-1>;

          Extensions  request_extensions;

      } OCSPStatusRequest;

      opaque ResponderID<1..2^16-1>;

      opaque Extensions<0..2^16-1>;

   In the OCSPStatusRequest, the "ResponderIDs" provides a list of OCSP

   responders that the client trusts.  A zero-length "responder_id_list"

   sequence has the special meaning that the responders are implicitly

   known to the server - e.g., by prior arrangement.  "Extensions" is a

   DER encoding of OCSP request extensions.

   Both "ResponderID" and "Extensions" are DER-encoded ASN.1 types as

   defined in [OCSP].  "Extensions" is imported from [PKIX].  A zero-

   length "request_extensions" value means that there are no extensions

   (as opposed to a zero-length ASN.1 SEQUENCE, which is not valid for

   the "Extensions" type).

_______________________________________________
TLS mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/tls

---

From: David Hopwood <[email-masked]>
Date: Wed, 18 Oct 2006 23:56:23 +0100

Joshua Ball wrote:
> In regards to the implementation of RFC 3546, in particular the OCSP extension.
> When the client does not wish to send any list of responders, what is the correct
> sequence to send

A zero-length vector.

> (as a zero length vector apparently has a special meaning).

If the client does not wish to send a list, then logically it *must* be the
case that "the responders are implicitly known to the server - e.g., by prior
arrangement." Otherwise how would the server know which responder to use?

-- 
David Hopwood <[email-masked]>

---

From: Joshua Ball <[email-masked]>
Date: Tue, 24 Oct 2006 14:00:09 -0700

Hmmm... maybe I am misunderstanding the statement: "by prior
arrangement"

The way we are doing OCSP responses here is through AIA's, not through
sending lists of ResponderID's around. The AIA is in the server cert,
which the server uses to get the OCSP response that we send back to the
client. Is this what is meant by "by prior arrangement"?

It seems to me there are three different methods being called out here:
1. by prior arrangement - a closed environment in which the server knows
which ResponderID's are OK to use.
2. send a list of ResponderID's - client sends a list, the server uses
one from the list.
3. use of the AIA - server gets OCSP response from URL in AIA of cert.

What I am trying to understand is how our client should be forming it's
OCSP extension in this last case (or if I am misunderstanding the last
case, when it really is part of #1).

So, assuming the server is not going to parse or know anything about
ResponderID's (we don't use them on the server), what should the client
be sending? A responder_id_list<0..2^16-1> vector of 0? 

Thanks.

-----Original Message-----
From: David Hopwood [mailto:[email-masked]] 
Sent: Wednesday, October 18, 2006 3:56 PM
To: [email-masked]
Subject: Re: [TLS] RFC 3456 - OCSP extension question

Joshua Ball wrote:
> When the client does not wish to send any list of responders, what is 
> the correct sequence to send

A zero-length vector.

> (as a zero length vector apparently has a special meaning).

If the client does not wish to send a list, then logically it *must* be
the case that "the responders are implicitly known to the server - e.g.,
by prior arrangement." Otherwise how would the server know which
responder to use?

---

From: David Hopwood <[email-masked]>
Date: Thu, 26 Oct 2006 08:49:31 +0100

> Hmmm... maybe I am misunderstanding the statement: "by prior

The important phrase is "implicitly known". "By prior arrangement" is
an *example* of a way in which the responders could be implicitly known;
it's not normative.