[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: CRLNumber definition and MAX




Michael StJohns wrote:
I think you're confusing the ASN1 definition of "long integers" with
the C language definition of a long int.

4.1.2.2 constrains the serial number INTEGER
(CertificateSerialNumber) into the range [0..2^159] - NOT [0..2^31].

Peter is not confusing the two, it's *implementations* that did it by allowing themselves to store a pathLen value inside a C language integer.

This being said, it's a reasonable assumption for applications to think it makes no sense to allow a path length to go over 2^31 and to not even try to handle values larger than that in pathLen, BaseDistance or SkipCerts.

I'd go so far as adding text to say something like application MUST handle a path length up to 20, CA MUST NOT generate a path length longer than 20, and MUST NOT insert a value larger than that in any of those three values. CRLNumber and CRLNumber would, of course, still be allowed to up to 20 octets in length.