-
Notifications
You must be signed in to change notification settings - Fork 4.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Failing test disableaiaoptionworks on OSX #47492
Comments
I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label. |
Tagging subscribers to this area: @bartonjs, @vcsjones, @krwq Issue DetailsRunfo Tracking Issue: Failing test disableaiaoptionworks on OSX
Build Result Summary
|
Always failing here. Hmm. Line 74 in 025c4d0
|
I find a few things odd about this.
So, based on my understanding then, AIA and revocation fetching are internally controlled by a single flag on the policy, I wrote a quick test for this, and indeed, [Theory]
[MemberData(nameof(AllViableRevocation))]
public static void WhatIsEvenGoingOn(PkiOptions pkiOptions)
{
SimpleTest(
pkiOptions,
(root, intermediate, endEntity, holder, responder) =>
{
DateTimeOffset now = DateTimeOffset.UtcNow;
intermediate.Revoke(endEntity, now);
holder.Chain.ChainPolicy.VerificationTime = now.AddSeconds(1).UtcDateTime;
// Remove the line below and the test will pass
holder.Chain.ChainPolicy.DisableCertificateDownloads = true;
SimpleRevocationBody(
holder,
endEntity,
rootRevoked: false,
issrRevoked: false,
leafRevoked: true);
});
} |
Well, revocation checking won't happen unless it can build a chain to a trust anchor. With AIA off is it completing the chain and just failing as RevocationStatusUnknown? We can certainly, on macOS, say that if the revocation mode is Online that'll override DisableCertificateDownloads. Not the happiest of states, but it is two caller-controlled elements and probably doesn't come up much. I guess now I'm confused as to why this ever worked. |
That appears to be the case. A complete chain is formed, revocation checking is still skipped.
I'm still trying to get my head around what is happening. I am finding that the documentation around this is on the misleading side, and it's a bit slow going for me to dig through source code. It seems to me, that (perhaps unrelated from this issue) this unearthed the issue that we should maybe change the macOS chain builder to ignore |
Ah, because I was helpful in
Maybe it used to be only for AIA and they recently decided that obviously it should also apply to OCSP/CRL? The sudden pass rate change does suggest it was an OS change, not a .NET change, that triggered things. I'm pretty well aware of how easy it is for documentation to be out of date 😄. |
With #47718 merged, I think the action left in this issue is to make the DisableCertificateDownloads test only check NoCheck revocation on macOS (and remove the activeissue attribute). |
@bartonjs yeah, that's sensible. Will open a PR soon. |
Runfo Tracking Issue: Failing test disableaiaoptionworks on OSX
Build Result Summary
The text was updated successfully, but these errors were encountered: