Let's Encrypt Standalone Clarifications

How to create a Let’s Encrypt self signed certificate for a subdomain?

To be specific:

  • sub.domain.com (needs a certificate and points to an ip address)
  • domain.com (does not point to anything)

When following the following instructions, I get the following errors:

>>> sudo -H ./letsencrypt-auto certonly --standalone -d sub.domain.com --register-unsafely-without-email
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator standalone, Installer None
Obtaining a new certificate
Performing the following challenges:
tls-sni-01 challenge for sub.domain.com
Waiting for verification...
Cleaning up challenges
Failed authorization procedure. sub.domain.com (tls-sni-01): urn:acme:error:connection :: The server could not connect to the client to verify the domain :: Timeout

IMPORTANT NOTES:
 - The following errors were reported by the server:

   Domain: sub.domain.com
   Type:   connection
   Detail: Timeout

   To fix these errors, please make sure that your domain name was
   entered correctly and the DNS A/AAAA record(s) for that domain
   contain(s) the right IP address. Additionally, please check that
   your computer has a publicly routable IP address and that no
   firewalls are preventing the server from communicating with the
   client. If you're using the webroot plugin, you should also verify
   that you are serving files from the webroot path you provided.

let’s encrypt can only issues certificates for valid registered domains

this is because it needs to validate domain ownership which can only be done with valid domains

you can create your own self signed certificates using openssl (google how to ) or you can use online tools such as: https://zerossl.com/free-ssl/#self

Andrei

Thank you for the link! Can the top domain be validated with one IP address and then the IP addressed changed?

Let’s Encrypt will resolve the IPs when the challenge is submitted

So changing an IP for a domain (as long as a domain is a valid internet domain) is not an issue

Let’s Encrypt cannot issue certificates for IP addresses or .local domains (and other domains such as .onion)

You are using the standalone command so need to meet the criteria to pass the HTTP or TLS-SNI challenge.

A list of plugins and the challenge types they support is here:

For example: my domain (firecube.xyz)

www.firecube.xyz - certificate is obtainable using TLS-SNI and HTTP challenge (valid DNS entry and IP)
firecube.xyz - certificate is obtainable using TLS-SNI and HTTP challenge (valid DNS entry and IP)
173.254.231.220 - certificate is not obtainable as it’s an IP
firecube.local - certificate is not obtainable (.local domain)
try.firecube.xyz - certificate is not obtainable using TLS-SNI and HTTP (no DNS entry so let’s encrypt doesn’t know what web server to go to validate the domain)

You can simplify issuing of certificates if IPs have not been set up by using the DNS challenge which only requires DNS records to be added.

So using the DNS challenge I can obtain certificates for all HTTP and TLS-SNI domain and the try.firecube.xyz domain (as to prove ownership i only need to add a valid DNS record. No web-servers or IP addresses are involved).

More info: https://letsencrypt.org/how-it-works/

Andrei

2 Likes

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