unixcharles / acme-client

A Ruby client for the letsencrypt's ACME protocol.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Obsolete Let's Encrypt note in README.md?

GProst opened this issue · comments

Is this still accurate info? https://github.com/unixcharles/acme-client#ordering-an-alternative-certificate
I believe Let's Encrypt decided to not switch chains so it should continue working with the default chain? Links:

So it seems like order.certificate should work and no changes needed, am I correct?

BTW, we're having an issue because order.certificate uses alternative short chain that's not supported by old Android devices, calling order.certificate(force_chain: 'DST Root CA X3') doesn't help, it still uses the short chain without 'DST Root CA X3' for some reason...

Ah, nevermind the second comment, our code just assumed that the chain consists of 2 certs for some reason and the third one was skipped. Didn't know it would work...

force_chain has opposite issue. It always download 'DST ROOT CA X3' chian :/
There could be something like this..

class Acme::Client
  class ChainIdentifier
    def match_name?(name)
      issuers.last.include?("/CN=#{name}") if issuers.any?
    end
  end
end

@beam Thanks for that solution, worked great for us.

EXPECTED_TERMINAL_CERT_CN = 'ISRG Root X1'
order.certificate(force_chain: EXPECTED_TERMINAL_CERT_CN)

Closing since its not too relevant nowadays.

I would be open to add a method to download alternate certificates from the alternate http header and let the end user figure out which cert they want to use if that useful to anyone.