DeserializationError

Hello I am using debian jessie.

I failed to install certbot about hours ago and I found this:

After waiting for about 2 hours I installed certbot successfully from jessie-backports. But when trying to run "standalone", it shows:

An unexpected error occurred:
DeserializationError: Deserialization error: The following field are required: uri,new_authzr_uri
Please see the logfiles in /var/log/letsencrypt for more details.

Here's the log:

2016-07-17 10:23:04,661:DEBUG:certbot.main:Root logging level set at 30
2016-07-17 10:23:04,662:INFO:certbot.main:Saving debug log to /var/log/letsencrypt/letsencrypt.log
2016-07-17 10:23:04,663:DEBUG:certbot.main:certbot version: 0.8.1
2016-07-17 10:23:04,663:DEBUG:certbot.main:Arguments:
2016-07-17 10:23:04,663:DEBUG:certbot.main:Discovered plugins: PluginsRegistry(PluginEntryPoint#webroot,PluginEntryPoint#null,PluginEntryPoint#manual,PluginEntryPoint#standalone)
2016-07-17 10:23:04,666:DEBUG:certbot.plugins.selection:Requested authenticator None and installer None
2016-07-17 10:23:04,769:DEBUG:certbot.plugins.selection:Multiple candidate plugins: * webroot
Description: Place files in webroot directory
Interfaces: IAuthenticator, IPlugin
Entry point: webroot = certbot.plugins.webroot:Authenticator
Initialized: <certbot.plugins.webroot.Authenticator object at 0x7f3d680cdcd0>
Prep: True

  • standalone
    Description: Automatically use a temporary webserver
    Interfaces: IAuthenticator, IPlugin
    Entry point: standalone = certbot.plugins.standalone:Authenticator
    Initialized: <certbot.plugins.standalone.Authenticator object at 0x7f3d67c71e10>
    Prep: True
    2016-07-17 10:23:07,108:DEBUG:certbot.plugins.selection:Selected authenticator <certbot.plugins.webroot.Authenticator object at 0x7f3d680cdcd0> and installer None
    2016-07-17 10:23:07,109:DEBUG:certbot.main:Exiting abnormally:
    Traceback (most recent call last):
    File "/usr/bin/certbot", line 9, in
    load_entry_point('certbot==0.8.1', 'console_scripts', 'certbot')()
    File "/usr/lib/python2.7/dist-packages/certbot/main.py", line 744, in main
    return config.func(config, plugins)
    File "/usr/lib/python2.7/dist-packages/certbot/main.py", line 550, in obtain_cert
    le_client = _init_le_client(config, auth, installer)
    File "/usr/lib/python2.7/dist-packages/certbot/main.py", line 360, in _init_le_client
    acc, acme = _determine_account(config)
    File "/usr/lib/python2.7/dist-packages/certbot/account.py", line 173, in load
    regr = messages.RegistrationResource.json_loads(regr_file.read())
    File "/usr/lib/python2.7/dist-packages/acme/jose/interfaces.py", line 180, in json_loads
    return cls.from_json(loads)
    File "/usr/lib/python2.7/dist-packages/acme/jose/json_util.py", line 297, in from_json
    return cls(**cls.fields_from_json(jobj))
    File "/usr/lib/python2.7/dist-packages/acme/jose/json_util.py", line 280, in fields_from_json
    cls._check_required(jobj)
    File "/usr/lib/python2.7/dist-packages/acme/jose/json_util.py", line 275, in _check_required
    ','.join(missing)))
    DeserializationError: Deserialization error: The following field are required: uri,new_authzr_uri

If I’m reading that traceback correctly, it’s a problem with the json file in which certbot stores the ACME account, somewhere in /etc/letsencrypt/accounts/acme-v01.api.letsencrypt.org/directory/*/regr.json.

Any chance you made some manual modifications to that file? Any other reason for why it might have gotten corrupted? I suppose it could also be an incompatibility with very old version of certbot (or as it was called back then, letsencrypt), though I can’t recall any backwards-incompatible changes in that area.

If you’re certain you don’t need the account that’s currently stored in that directory (i.e. for other domains or something like that), you could probably move it out of the way or delete it, and let the client re-create the account.

1 Like

Thank you!

I removed the regr.json file and it works!
I’ve never manually modify the file. But maybe I’ve installed an old version letsencrypt.

Thank you for your help:kissing_smiling_eyes:

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