I created a Lets Encrypt certificate with the alternative chain a few days ago.
Then my application, the Seafile Client / Windows 10 reported an invalid certificate.
After I created a new certificate with the new default chain, the client reported no problems with the certificate.
With the new default chain, however, the DST Root CA is still the anchor, which expires at the end of September 2021.
Do I therefore have to expect problems from October onwards?
I have already contacted Seafile and received the answer that the Seafile client use the system certificate store.
But if this is the case, then this should also work with the alternative chain, or am I wrong here?
But since it throws an error with the alternative chain, I will probably also get an error with the new default chain from October, or am I wrong here?
If the web browser doesn't think ISRG Root X1 is the end of the chain but believes that DST Root CA X3 is the end of the chain
then you will have an issue.
The web browser (Firefox) is not the problem, this one did not throw an error with the alternative chain, it was just the Seafile client.
But as far as I know browsers like to use their own certificate store...
Yes, I have already seen these two threads, but they are rather general.
Windows 10 should have the ISRG Root X1 in the certificate store according to this list.
So either Windows 10 does not support the ISRG Root X1, or the Seafile client does not use the system certificate store.
From my point of view it depends on what the browser takes as the Root Certificate,
as ISRG’s “ISRG Root X1” is both (at the moment) an Intermediate and Root Certificate.
If the browser takes it as the Root Certificate, then you should be good.
If the browser takes it as an Intermediate Certificate, then you will have an issue.
Again, the browser is not my problem, my problem is the the seafile client, which is a desktop application, for e.g. Windows10.
Or am I missing something?
A customer (also Windows 10) had the same problem with the Seafile client, is that likely that the lazyload problem occurs with two different computers at the same time?
I will test this anyway, but first I have to create a certificate with the alternative chain again.
I'll do that tomorrow and let you know.
Thanks for the hint.
EDIT: Summary of the issue after discussion below and more fiddling around.
Some W10 versions don't ship with ISRG root baked in
If a browser (IE, Edge or Chrome) encounters an ISRG root signed certificate, it DOES lazy load the ISRG root and it DOES appear in the root store.
That being said, non-browser OS subsystems (like rasdial, maybe others) do NOT trigger this flow and the chain cannot be verified until the ISRG root is lazy loaded through a browser.
The real "issue" here is that Rasdial is referencing the on-disk root store without using the OS's built in validation routines, and therefore isn't able to take advantage of the OS's lazy-loading.
As I wrote earlier, I have already asked this question to Seafile.
There I received the answer that the Windows Store is used.
I should be able to see this tomorrow when I have the certificate of the alternative chain again and then my application in the browser (Chrome / Edge) does not throw an error, but in the client it does.
In that case it is probably pretty sure that the client does not use the Windows store.