Re: [Sidrops] 6486bis: Failed Fetches

Di Ma <> Sun, 30 August 2020 04:49 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 787F03A1430 for <>; Sat, 29 Aug 2020 21:49:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id mITx4swEedfF for <>; Sat, 29 Aug 2020 21:49:05 -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 217643A142E for <>; Sat, 29 Aug 2020 21:49:02 -0700 (PDT)
X-QQ-mid: bizesmtp11t1598762935t2mvfpuq
Received: from [] (unknown []) by (ESMTP) with id ; Sun, 30 Aug 2020 12:48:52 +0800 (CST)
X-QQ-SSF: 00400000002000X0Z000000A0000000
X-QQ-FEAT: 2Jv068wAOjb5VLoLeohB/axnXO9hfTwstcp3S19/IsIYO6lrIzumsA0MrbZFi MSG0y4IHvEbLm4692fRC0q1p8zKX/DpTSfGIsArMUVQt9BVVxfO0CgcCxmeqzHY3XcFCaCB IrqCtDqECN+ZNKJ/SwlquDWdK4pCVGSCKFF2eHcJrOPSSdgtylXQQuwRYcLMSFa/0icRnpg 51tYDWNokEnhAQ4Qha9FEtmhGLk0Z6V1ihhL3XVN9cBgtceSoMW2fz7XsvUlTFgrpjgczdX B4azb0cPTbhALpU/Hye3VNg/VycRk/pX8G3Ital2jwIh2SgDKKKse/CsGqKa+UmEnxR/mXj DNvn+EvR2VHRI7dsS6IKQS4soCju63R5jAUikwu
X-QQ-GoodBg: 2
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.\))
From: Di Ma <>
In-Reply-To: <>
Date: Sun, 30 Aug 2020 12:48:51 +0800
Cc: SIDR Operations WG <>
Content-Transfer-Encoding: quoted-printable
Message-Id: <>
References: <> <> <> <> <> <> <> <> <>
To: Stephen Kent <>, Tim Bruijnzeels <>
X-Mailer: Apple Mail (2.3608.
X-QQ-Bgrelay: 1
Archived-At: <>
Subject: Re: [Sidrops] 6486bis: Failed Fetches
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: A list for the SIDR Operations WG <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Sun, 30 Aug 2020 04:49:09 -0000

> 2020年8月30日 02:58,Stephen Kent <> 写道:
> Tim,
>> Hi,
>> I agree that a correctly functioning CA will produce a sound set of objects. Also it is highly unlikely that a CA will just publish an expired ROA. The much more likely scenario is that a CA is unable to make or publish updates and the MFT and CRL go stale, and the MFT EE expires, way before any ROA or issued cert would.
> I agree that these seem to be the more likely error modes, but there also was a discussion of encountering more than one CRL, for example.
>> That being said there are scenarios beyond the control of a CA that can lead to invalid objects:
>> 1) rsync
>> If the RP does rsync only, they may get an inconsistent data set. Transactions are not supported here. They just get an old MFT and new CRL or vice versa, or they may get a new MFT but not the new object, etc. This is a race condition that happens infrequently when RPs fetch during publication. It is rare, but it does happen.
> I agree that this may happen, even if one publishes all of the objects in a new directory and the  switches the pointer. But, in that case, the RP should consider this a failed fetch and retry. I believe that's what the RPSTIR software did (does?), so it's not a fatal error.

Yes. RPSTIR2 does do so, retrying.

It is difficult for an RP to determine if it is a rollover or a mistake when it sees new MFT and old signed objects coexist in the repository in question.

If it is a mistake, RP is supposed to consider those old objects invalid as per 6486bis.

But if it is during rollover, RPSTIR2 now has to keep retrying until things are seems ok. 

IMHO, I suggest it is the CA that does make-before-break by setting up a new publication point with new MFT and new objects, keeping old ones still valid. Once the new publication is all ready to service, CA replaces old SIA with new one. This is what I can see by far a  compromise to solve this issue.