Let's Encrypt - Still getting the Older DST X3 Chain

Hello,

Per Production Chain Changes - API Announcements - Let's Encrypt Community Support , Let’s Encrypt was to move to the “Long Chain” as of May 4th, however as of today, I am still getting this chain: End-entity certificate ← R3 ← DST Root CA X3

I have configured the Preferred Chain option to be “ISRG Root X1”, which is the actual chain I need ( End-entity certificate ← R3 ← ISRG Root X1) , yet Certify App still is pulling down the cert and old chain (End-entity certificate ← R3 ← DST Root CA X3).

Is there something I need to look for / configure / re-do to get the chain that I need. I have pinged a colleague of mine who has a similar CertifyTheWeb app setup and they are getting the chain I do want, with a default certify the web app config … ( End-entity certificate ← R3 ← ISRG Root X1) --makes no sense unless Let’s Encrypt has not fully rolled things out…

Thoughts?

TIA

S

All of my certificates from Certify and acme.sh still use the chain that will expire at the end of September. But with the certificates expiring before September, I don’t really see it as an issue. I’ll have to renew all of them before the CAs expire anyways.

The question is how are you verifying your certificate chain, R3 is cross signed so either ISRG Root X1 or DST Root CA X3 can vouch for it. If you use the built in windows certificate viewer it uses which ever path it likes the most (so R3 usually looks like it’s root is DST Root CA X3).

If you open the certificate with the view that shows you the individual components (for me that’s right click the PFX and choose Open) you can see the ISRG Root X1

Cert Chain listed below. Still have the old ‘short’ chain. I’ve tried specifying the alternate chain (ISRG Root X1) within the application and it does not work, still get the soon to be expired short chain…

They’ve talked about cross-signing for a while… and frankly, I don’t understand it fully.

But more to the point, I don’t understand your issue. You have a certificate that expires on Aug 15th. Why do you care that the intermediary expires at the end of September? You won’t even have that certificate anymore because you’ve probably renewed 1-3 times between now and then.

Lastly, I read this written somewhere… clients build the path they want, not the one you want. So if you have two valid certificate chains, the client is going to show you one. Just one. Which ever one it felt like.

Your example is using the build in windows certificate viewer, which as stated, just builds whatever path it wants. Try certutil -dump your_certificate.pfx (enter key for blank password). Here’s the example output I get. Note the first cert is R3 intermediate with the ISRG Root X1 issuer.

================ Certificate 0 ================
================ Begin Nesting Level 1 ================
Element 0:
Serial Number: 912b084acf0c18a753f6d62e25a75f5a
Issuer: CN=ISRG Root X1, O=Internet Security Research Group, C=US
 NotBefore: 4/09/2020 8:00 AM
 NotAfter: 16/09/2025 12:00 AM
Subject: CN=R3, O=Let's Encrypt, C=US
Non-root Certificate
Cert Hash(sha1): a053375bfe84e8b748782c7cee15827a6af5a405
----------------  End Nesting Level 1  ----------------
No key provider information
Cannot find the certificate and private key for decryption.

================ Certificate 1 ================
================ Begin Nesting Level 1 ================
Element 1:
Serial Number: 03a142d0d38054c1aa773db0dfd8b950f73f
Issuer: CN=R3, O=Let's Encrypt, C=US
 NotBefore: 14/05/2021 11:48 AM
 NotAfter: 12/08/2021 11:48 AM
Subject: CN=isrg-test1.sparkmap.net
Non-root Certificate
Cert Hash(sha1): 33553d536aa98af5f2d6180d6110b2f1604a7b89
----------------  End Nesting Level 1  ----------------
  Provider = Microsoft Enhanced Cryptographic Provider v1.0

Certificate Public Key:
Version: 3
Public Key Algorithm:
    Algorithm ObjectId: 1.2.840.113549.1.1.1 RSA
    Algorithm Parameters:
    05 00
Public Key Length: 2048 bits
Public Key: UnusedBits = 0
    0000  30 82 01 0a 02 82 01 01  00 9f f6 2a b5 90 42 d9
    0010  6a 06 05 71 b9 22 e4 55  75 96 0c 67 d4 04 77 50
    0020  49 e8 68 e1 8d 4f 92 27  2c 02 01 a8 95 d4 47 46
    0030  7e b5 91 76 af 85 41 41  7a 3b 87 ba d0 2b fb 59
    0040  69 ee 9e 6c 8d 63 f6 16  8c 88 13 5b 56 f5 54 ac
    0050  00 44 40 59 5b d6 18 0d  8e a8 e6 1e a5 ca e8 3b
    0060  a6 2e 05 16 a9 9c bb 25  3c 06 f4 54 28 8f 06 ed
    0070  1b 9f f9 81 14 c8 11 95  04 b0 36 4e fb ed 41 da
    0080  77 f9 14 38 ce 82 81 ab  5f 93 53 2e f4 07 7a dc
    0090  e7 be cd 06 3f 82 a3 4c  f9 ba 44 40 15 77 b4 51
    00a0  98 64 a1 65 a0 5f 1b ce  ab 86 4f 17 ff eb 79 f8
    00b0  1f 20 4d 45 b9 5a e2 db  14 07 79 c2 84 1f 4d a5
    00c0  3a a3 cf 83 b6 ef eb 4b  66 7a d0 46 43 95 14 a3
    00d0  2a 7e c8 13 d3 6e dc f8  5f 1b 99 4e 15 96 93 dd
    00e0  eb 0e d4 d6 b0 7f 06 22  19 4b 4c e9 93 ec 97 53
    00f0  a0 e4 4b 86 e5 12 f4 94  ec 26 5d 1d 4f 7a b6 ff
    0100  cf 6b fc 56 a0 4a c7 00  91 02 03 01 00 01
Key Id Hash(rfc-sha1): 0c7dcc57faaeff2c2fe28739d91abf58cf195961
Key Id Hash(sha1): 393d49a77e8c3b4ee03a87c45e1cd938c52e4905
Key Id Hash(bcrypt-sha1): 84ac374cf0f499493ea5e3ddf1eb4201cd44189a
Key Id Hash(bcrypt-sha256): 5c2d4a571f4f501e4bde625dc40ef93c77f24fb59aa54b89a5782ebda2a722d7

Container Public Key:
Public Key Algorithm:
    Algorithm ObjectId: 1.2.840.113549.1.1.1 RSA
    Algorithm Parameters: NULL
Public Key Length: 2048 bits
Public Key: UnusedBits = 0
    0000  30 82 01 0a 02 82 01 01  00 88 8c c1 9a df c2 8b
    0010  74 b1 49 87 e7 19 3d 43  12 2e 94 9b 2c 35 96 b0
    0020  02 fa f7 b6 b9 fc f3 a6  ed f5 8c 36 1a a1 1b b4
    0030  24 b6 ed 69 91 12 b6 98  a1 c5 b0 39 1d c8 27 39
    0040  23 36 29 67 cd 63 54 01  40 ef c5 66 48 07 8f 0e
    0050  89 b5 8e 93 12 1a 73 9f  8e 10 aa 0e 8e 7c 16 8a
    0060  79 c5 2c 3f 11 f8 f4 58  df 12 01 c6 12 89 7e 98
    0070  11 2c e4 95 15 19 37 d4  a5 e9 1c 08 9f 35 a3 0c
    0080  00 2d e9 89 77 a4 de aa  d2 9b 4c 67 a0 82 ec 06
    0090  2f 48 ec c1 48 df f2 fa  3d fa 89 2c cd b3 c4 e3
    00a0  f1 58 af 78 83 a5 43 a5  f2 de c7 72 cc a9 f0 47
    00b0  e5 17 a2 df e1 81 d3 57  23 ad 8a 28 29 7c 26 12
    00c0  16 ea 9d 50 33 e0 ce 76  72 20 a9 51 e6 ab 46 14
    00d0  01 bd 55 ad 83 0f db e0  a5 8c 16 04 c0 07 12 8b
    00e0  2d b3 1e 7d 5f 17 ad 78  82 3b 01 01 29 9f 6d 11
    00f0  23 3d fa 49 74 28 3a 3d  58 93 e9 61 d1 de 72 68
    0100  12 2b 4f fa 7d 6a 71 23  cf 02 03 01 00 01
Key Id Hash(rfc-sha1): b67c78650d371183981b0302a5f0d941d7dbf0c8
Key Id Hash(sha1): 328b76d4458dee1792130205e927ee94f5affdc3
Key Id Hash(bcrypt-sha1): 1daeb878bacd328a33c925e5cb52c6a656b077f8
Key Id Hash(bcrypt-sha256): 8e5f9910007b752da3429d0c23f163539255f6b59bc4342ae7084df900510cb8