certbot/letsencrypt/plugins
Jakub Warmuz 7dc64e0387
Rewrite acccounts and registration.
Save accounts to:

    /etc/letsencrypt/accounts/www.letsencrypt-dmeo.org/acme/new-reg/ \
    kuba.le.wtf@2015-07-04T14:04:10Z/ \
    {regr.json,meta.json,private_key.json}

Account now represents a combination of private key, Registration
Resource and client account metadata. `Account.id` based on the
account metadata (creation host and datetime). UI interface
(`cli._determine_account`) based on the `id`, and not on email as
previously.

Add `AccountStorage` interface and `AccountFileStorage`,
`AccountMemoryStorage` implementations (latter, in-memory, useful for
testing).

Create Account only after Registration Resource is received
(`register()` returns `Account`).

Allow `client.Client(..., acme=acme, ...)`: API client might reuse
acme.client.Client as returned by `register()`.

Move report_new_account to letsencrypt.account, client.Client.register
into client.register.

Use Registration.from_data acme API.

achallenges.AChallenge.key is now the `acme.jose.JWK`, not
`le_util.Key`. Plugins have to export PEM/DER as necessary
(c.f. `letsencrypt.plugins.common.Dvsni.get_key_path`)

Add --agree-tos, save --agree-eula to "args.eula". Prompt for EULA as
soon as client is launched, add prompt for TOS.

Remove unnecessary letsencrypt.network. Remove, now irrelevant,
`IConfig.account_keys_dir`.

Based on the draft from
https://github.com/letsencrypt/letsencrypt/pull/362#issuecomment-97946817.
2015-07-09 06:43:45 +00:00
..
standalone Rewrite acccounts and registration. 2015-07-09 06:43:45 +00:00
__init__.py Move letsencrypt.client to letsencrypt 2015-05-10 12:32:05 +00:00
common.py Rewrite acccounts and registration. 2015-07-09 06:43:45 +00:00
common_test.py Rewrite acccounts and registration. 2015-07-09 06:43:45 +00:00
disco.py Plugins disco: catch PluginError in prepare(), debug log exceptions. 2015-06-27 08:14:00 +00:00
disco_test.py Add test for PluginError catching in disco 2015-06-27 10:02:02 +00:00
manual.py IConfig.simple_http_port (fixes #542). 2015-06-29 07:58:36 +00:00
manual_test.py IConfig.simple_http_port (fixes #542). 2015-06-29 07:58:36 +00:00
null.py Add null installer, integration tests for install/run 2015-06-26 13:26:09 +00:00
null_test.py Add null installer, integration tests for install/run 2015-06-26 13:26:09 +00:00