Certbot throwing this error KeyError: 'Directory field "newAccount" not found'

Please fill out the fields below so we can help you better. Note: you must provide your domain name to get help. Domain names for issued certificates are all made public in Certificate Transparency logs (e.g. https://crt.sh/?q=example.com), so withholding your domain name here does not increase secrecy, but only makes it harder for us to provide help.

My domain is:

I ran this command:

It produced this output:

My web server is (include version):

The operating system my web server runs on is (include version): ubuntu 20

My hosting provider, if applicable, is:

I can login to a root shell on my machine (yes or no, or I don't know): Yes

I'm using a control panel to manage my site (no, or provide the name and version of the control panel): no

The version of my client is (e.g. output of certbot --version or certbot-auto --version if you're using Certbot): 2.5.0

I am using Entrust for CA and would like to use ACME protocol for CA renewal. As per Entrust official document it does support ACME. I am following this document : How to use ACME to install SSL/TLS certificates in Entrust Certificate Services (Apache)
while running certbot command getting this error :slight_smile:
KeyError: 'Directory field "newAccount" not found'

Error logs from /var/log/letsencrypt/letsencrypt.log

Traceback (most recent call last):
  File "/snap/certbot/2913/lib/python3.8/site-packages/acme/messages.py", line 264, in __getitem__
    return self._jobj[name]
KeyError: 'newAccount'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/snap/certbot/2913/bin/certbot", line 8, in <module>
    sys.exit(main())
  File "/snap/certbot/2913/lib/python3.8/site-packages/certbot/main.py", line 19, in main
    return internal_main.main(cli_args)
  File "/snap/certbot/2913/lib/python3.8/site-packages/certbot/_internal/main.py", line 1864, in main
    return config.func(config, plugins)
  File "/snap/certbot/2913/lib/python3.8/site-packages/certbot/_internal/main.py", line 1440, in run
    le_client = _init_le_client(config, authenticator, installer)
  File "/snap/certbot/2913/lib/python3.8/site-packages/certbot/_internal/main.py", line 830, in _init_le_client
    acc, acme = _determine_account(config)
  File "/snap/certbot/2913/lib/python3.8/site-packages/certbot/_internal/main.py", line 738, in _determine_account
    acc, acme = client.register(
  File "/snap/certbot/2913/lib/python3.8/site-packages/certbot/_internal/client.py", line 209, in register
    regr = perform_registration(acme, config, tos_cb)
  File "/snap/certbot/2913/lib/python3.8/site-packages/certbot/_internal/client.py", line 255, in perform_registration
    return acme.new_account(messages.NewRegistration.from_data(
  File "/snap/certbot/2913/lib/python3.8/site-packages/acme/client.py", line 62, in new_account
    response = self._post(self.directory['newAccount'], new_account)
  File "/snap/certbot/2913/lib/python3.8/site-packages/acme/messages.py", line 266, in __getitem__
    raise KeyError(f'Directory field "{name}" not found')
KeyError: 'Directory field "newAccount" not found'
2023-05-02 10:00:10,413:ERROR:certbot._internal.log:An unexpected error occurred:
2023-05-02 10:00:10,413:ERROR:certbot._internal.log:KeyError: 'Directory field "newAccount" not found'

I am working with Entrust team as well, meantime any help will be really appreciated.

Does Entrust support ACMEv2 (RFC8555)?

One Entrust ACME URL I could find is https://www.entrust.net/acme/api/v1/directory/LP2-IAO7-8Y2R. That is not an ACMEv2 server. Is your URL similar to that?

Certbot dropped support for ACMEv1 some time ago.

5 Likes

Yes my url is https://www.entrust.net/acme/api/v1/directory/
I am checking with entrust if they support ACMEv2 or not.

Thanks,
Ruchi

2 Likes

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