The complexity of the problem…

> Begin forwarded message:
> 
> From: raf <macpo...@raf.org>
> Subject: Re: Let's Encrypt DST Root CA X3 Expiration
> Date: 2 October 2021 at 23:32:45 GMT-3
> To: macports-us...@lists.macports.org
> 
> On Sat, Oct 02, 2021 at 04:14:05AM -0500, Ryan Schmidt 
> <ryandes...@macports.org> wrote:
> 
>> macports.org and other secure web sites that use Let's Encrypt may
>> no longer be accessible to you if you use older versions of macOS
>> or older browsers or user agents. For example, the libcurl in macOS
>> 10.14 can't talk to many Let's Encrypt web sites now, including
>> distfiles.macports.org and packages.macports.org, and MacPorts uses
>> macOS libcurl to download things. Safari and many browsers don't use
>> libcurl so they may be affected differently.
>> 
>> Let's Encrypt is a free certificate provider used by macports.org
>> and many other web sites to provide https encryption. Certificates
>> they issue depend on their "ISRG Root X1" certificate which was
>> cross-signed by the "DST Root CA X3" certificate, because DST Root
>> CA X3 was more widely accepted by browsers when Let's Encrypt got
>> started years ago. Both of these root certificates are included in the
>> certificate chain served by web sites that use Let's Encrypt.
>> 
>> ISRG Root X1 itself has been trusted by browsers for some time
>> now and DST Root CA X3 expired a couple days ago on September 30,
>> 2021. Apparently in order to provide the widest compatibility,
>> certificate chains continue to list the old expired root certificate
>> after the new one. The idea as I understand it is that browsers should
>> see the ISRG Root X1 certificate, realize that it itself is already
>> trusted by the OS or browser, and not even look at the next expired
>> DST Root CA X3 certificate in the chain.
>> 
>> They advertised this root certificate expiration as being a very minor
>> situation, but unfortunately it seems that a large portion of Apple
>> devices cannot deal with this change. On many Macs, it seems that the
>> entire certificate chain is being validated, and the expired extra
>> root certificate is causing the connection to be disallowed. What
>> alerted me to the problem in the first place was seeing many failed
>> builds on our Buildbot system due to fetch failures.
>> 
>> I'm not certain what to do to address this. On the web servers
>> we control, we can apparently remove the expired DST Root CA X3
>> certificate from the chain that we send. That will help those
>> systems that already trust ISRG Root X1. I'm not sure how far back
>> that is. For older systems, we can modify master_sites.tcl and
>> archive_sites.tcl to change which OS versions try to access our mirror
>> servers via https. None of this necessarily helps our build server be
>> able to mirror distfiles in the first place. If you have ideas, let me
>> know.
>> 
>> https://letsencrypt.org/docs/dst-root-ca-x3-expiration-september-2021/
> 
> There is a discussion on the LetsEncrypt community site
> with instructions for installing the ISRG Root X1
> certificate on older versions of macOS:
> 
>  
> https://community.letsencrypt.org/t/connection-errors-on-apple-devices/161107/16
> 
> Here are instructions for 10.10 and 10.11:
> 
>  
> https://community.letsencrypt.org/t/connection-errors-on-apple-devices/161107/25
> 
> Here's another approach that worked on 10.9.5 and
> 10.11.6 (i.e., override the expiry by always trusting
> DST Root CA X3:
> 
>  
> https://community.letsencrypt.org/t/connection-errors-on-apple-devices/161107/28
> 
> Here's my approach for 10.6.8 because the above didn't
> work (i.e., export root certificates from a later macOS
> and import them):
> 
>  
> https://community.letsencrypt.org/t/connection-errors-on-apple-devices/161107/36
> 
> But these are all client-side fixes. The only
> server-side fix seems to be to change to a different
> certificate authority. I didn't see any mention of
> removing the DST Root CA X3 certificate from the chain.
> That would probably only work from macOS 10.12 onwards.
> ISRG Root X1 is only trusted by macOS since 10.12.
> Earlier than that, it needs to be added.
> 
> The rest is a bit rambly. It might be best to just
> consult the LetsEncrypt community forum above.
> 
> I should mention that I didn't notice any problems with
> macports on 10.6.8. curl has its own root certificates
> and they are fine. And I was able to do an upgrade. But
> I might have already installed the ISRG Root X1
> certificate at least into my "local" keychain before
> trying it (or maybe into the "System" and "System
> Roots" keychains).
> 
> However, I still don't think that it's entirely OK.
> Firefox on 10.6.8 can access macports.org with no
> problem (but it certainly wasn't accessing my
> LetsEncrypt-certified sites beforehand), but Sarafi
> tells me that it can't verify macports.org's identity,
> but it still lets me access it. If I quit and restart
> Safari, and visit macports.org, it does the same thing.
> Firefox uses its own root certificates. Safari uses the
> system ones. But I definitely have ISRG Root X1 in both
> the "System" and "System Roots" keychains. So I don't
> know why Safari has a problem. In Keychain Access, it's
> marked as "Always Trust" but it also says "trusted for
> macports.org" (I don't know why it says that). That's
> confusing. But in Safari, when viewing the certificate,
> there was a checkbox labelled "Always trust". After
> checking it, quitting and restarting Safari, it visited
> macports.org without complaint.
> 
> I should also mention that I can't find DST Root CA X3
> in my 10.6.8 keychains. So that's wierd. Otherwise, I
> probably should have set it to always trust (not that
> having ISRG Root X1 set to always trust convinced
> Safari to trust it immediately - I had to tell Safari
> itself to trust it as well).
> 
> cheers,
> raf
> 

_______________________________________________
Blink mailing list
Blink@lists.ag-projects.com
https://lists.ag-projects.com/mailman/listinfo/blink

Reply via email to