Re: [pkix] Why is the crlNumber an OCTET STRING?

Stefan Santesson <> Wed, 21 April 2021 20:19 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id D1AE23A352D for <>; Wed, 21 Apr 2021 13:19:06 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.918
X-Spam-Status: No, score=-1.918 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, NICE_REPLY_A=-0.001, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_NONE=0.001] autolearn=ham autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id eh0NSycV-EgJ for <>; Wed, 21 Apr 2021 13:19:04 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 6BE2A3A352C for <>; Wed, 21 Apr 2021 13:19:03 -0700 (PDT)
Received: from (localhost []) by (Postfix) with UTF8SMTP id E5CB21AA20A7 for <>; Wed, 21 Apr 2021 22:18:59 +0200 (CEST)
Received: from (unknown []) by (Postfix) with UTF8SMTP id D63122E3A0C9; Wed, 21 Apr 2021 22:18:59 +0200 (CEST)
Received: from (unknown []) by (Postfix) with UTF8SMTP id C44E2157A03A; Wed, 21 Apr 2021 22:18:59 +0200 (CEST)
X-Virus-Scanned: amavisd-new at
Received: from ([]) by ( []) (amavisd-new, port 10024) with UTF8LMTP id wvSG85SitViO; Wed, 21 Apr 2021 22:18:58 +0200 (CEST)
X-Loopia-Auth: user
Received: from [] (unknown []) (Authenticated sender: by (Postfix) with UTF8SMTPSA id B92FD13B9442; Wed, 21 Apr 2021 22:18:58 +0200 (CEST)
Message-ID: <>
Date: Wed, 21 Apr 2021 22:18:58 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:88.0) Gecko/20100101 Thunderbird/88.0
Content-Language: en-US
To: Russ Housley <>
Cc: Peter Gutmann <>, IETF PKIX <>
References: <> <> <> <> <> <> <> <> <> <> <> <>
From: Stefan Santesson <>
Organization: 3xA Security AB
In-Reply-To: <>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
Archived-At: <>
Subject: Re: [pkix] Why is the crlNumber an OCTET STRING?
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: PKIX Working Group <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Wed, 21 Apr 2021 20:19:07 -0000

Yes, I understand the logic. I just say that as implementer I never
found the reason to use this in practice.

In practice I have a policy that test if my current cached CRL is valid
to use. If yes, then I use it. if no, then I discard it and attempts to
get a new CRL.

The new CRL is treated the same way before being used.

Perhaps my implementations are to simplistic, but I never found a
compelling reason to check and compare CRL number.


On 2021-04-21 22:04, Russ Housley wrote:
> Stefan:
>> Isn't this one of all these PKI things that is a great intellectual
>> debate to fill out your time, but lacks any kind of real implications?
>> I have done quite some PKI validation implementations, but I have never
>> found any reason yet to check the CRL number for any reason what so ever.
>> When I do CRL checking, I download the current CRL, check that it is
>> current and still valid, and has the intended scope.
>> No more, and no less. CRL number is not part of that process.
>> So basically, I find this interesting intellectually, but in what
>> practical context does this matter?
> If you cache CRLs to avoid fetching every time that you perform validation, then the CRL number is one way to determine whether the just fetched one is more "current" than the one in the cache.  Assuming the same scope, date works for this too as Peter pointed out.
> Russ