Open vitalybondarenko opened 2 years ago
Are directory /usr/lib/vmware/hostd/docroot/.well-known/acme-challenge
exist in you system? Do you create it?
Yes, that directory exists.
Looks like a problem with openssl 1.0.1az and the new certification chain used by letsencrypt.
wget https://acme-v02.api.letsencrypt.org/directory gives an error, while the same command with --no-check-certificate works as expected.
I managed to workaround this particular issue by disabling certificates check in acme_tiny.py. But another blocker is that esxi host should be transparently published to internet, to allow all letsencript verifications to pass. If it is not published, configuring proxies complicates the process a lot...
When running certificate generation, I get an error like: [root@esxi:/etc/vmware/ssl] /usr/bin/python /opt/acme-tiny/acme_tiny.py --account-key /etc/vmware/ssl/account.key --csr /etc/vmware/ssl/letsencrypt.csr --acme-dir /usr/lib/vmware/hostd/docroot/.well-known/acme-challenge > /etc/vmware/ssl/letsencrypt.crt Parsing account key... Parsing CSR... Found domains: esxi-... Getting directory... Traceback (most recent call last): File "/opt/acme-tiny/acme_tiny.py", line 198, in
main(sys.argv[1:])
File "/opt/acme-tiny/acme_tiny.py", line 194, in main
signed_crt = get_crt(args.account_key, args.csr, args.acme_dir, log=LOGGER, CA=args.ca, disable_check=args.disable_check, directory_url=args.directory_url, contact=args.contact, check_port=args.check_port)
File "/opt/acme-tiny/acme_tiny.py", line 105, in getcrt
directory, , _ = _do_request(directory_url, err_msg="Error getting directory")
File "/opt/acme-tiny/acme_tiny.py", line 46, in _do_request
raise ValueError("{0}:\nUrl: {1}\nData: {2}\nResponse Code: {3}\nResponse: {4}".format(err_msg, url, data, code, resp_data))
ValueError: Error getting directory:
Url: https://acme-v02.api.letsencrypt.org/directory
Data: None
Response Code: None
Response: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:728)>
Same error with disabled firewall.