Cisco Expressway / ACME - "The trust chain for the pending certificate is missing or invalid"

Hello everyone,

I've set up a Cisco Expressway-E node and activated ACME service. Also I uploaded Let's Encrypt ISRG Root X1 and intermediate R13 certificate to the store of trusted CAs.

However, after I generate a server CSR and sign it via ACME and then deploy the certificate, I get the message: "ACME deploy operation failed: The trust chain for the pending certificate is missing or invalid."

I believed Encrypt ISRG Root X1 and intermediate R13 certificates provided the trust chain, so why does this message show up?

Welcome to the Let's Encrypt Community! :slightly_smiling_face:

You shouldn't add intermediates (e.g. R13) to trust stores. That said, what certs are you actually serving to your visitors? Should be your leaf end R13 (if it issued your leaf) and not the root.

2 Likes

First of all, thanks a lot for your reply!

"You shouldn't add intermediates"

  • however this is exactly what is prescribed in the cisco docs, one should add the root and intermediate certificates.

Append Let's Encrypt Root CA Certificate to Expressway Trust Stores

Append Let's Encrypt Intermediate CA Certificate to Expressway Trust Stores

Therein they mention the outdated R3 intermediate certificate, it's clear now R13 certificate should be taken instead.

1 Like

To my knowledge, trust stores are usually used by a client to verify certificates received from a server, meaning that the root would need to be present in the clients'/visitors' trust stores. As for the intermediate, it's generally bad practice to anchor trust in an intermediate. Keep in mind that Let's Encrypt arbitrarily issues from a set of intermediates that can be rotated at any time.

3 Likes

Those instructions seem outdated and horrible. I don't know what a Cisco Expressway is, but any system that wants you to explicitly add intermediates is horribly broken. The client should have the roots of the CAs it trusts in its trust store, and servers should be serving the complete chain that they got from the ACME server that the CA runs.

6 Likes

I do totally agree with you on this product being weird, to say the least. I'll try uploading only the root cert tomorrow and will be back with an update.

3 Likes

Best to log a ticket with Cisco and tell them the ACME service rotates intermediates regularly and can they instead use the intermediates provided automatically during the ACME renewal process, if they say no speak to your Cisco account manager. Or just start with them.

4 Likes

Well, I uploaded intermediate R12 cert and it worked. Without intermediate certs ACME service issued error "no trust chain for the depoyed cert". No idea why it works because you absolutely right, the root sert should have been enough. And no idea why R13 intermediate cert didn't work.

No comment. :man_facepalming:

Well, if it actually needs the intermediates, then you should be loading all of Let's Encrypt's intermediates, including the ones listed as "backup" and "upcoming", and subscribe to the Let's Encrypt Technical Updates newsletter to be notified when they add new ones. It's, uh, definitely not the ideal way to do things, but sometimes broken systems work that way.

6 Likes

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.