Commit graph

9985 commits

Author SHA1 Message Date
James Kasten
50f1db4b11 Move dvsni config file to server-root 2015-07-09 18:55:08 -07:00
James Kasten
53e01c19af Use config_test raise appropriate errors 2015-07-09 17:51:08 -07:00
James Kasten
a402382a49 Remove enable mod_ssl/configuration changes on prepare() 2015-07-09 17:37:32 -07:00
James Kasten
ac32e54798 In order directive search 2015-07-09 16:15:45 -07:00
James Kasten
b66c60731f Merge pull request #596 from kuba/acme-resource
Fix new-regr -> new-reg typo
2015-07-09 12:11:05 -07:00
Jakub Warmuz
517c9bd736
Fix new-regr -> new-reg typo 2015-07-09 19:04:41 +00:00
James Kasten
55b897537d Merge pull request #594 from kuba/acme-resource
Enforce "resource" field in request objects.
2015-07-09 11:42:13 -07:00
Jakub Warmuz
35c21d4cf4
Enforce "resource" field in request objects.
Corresponds to:
- https://github.com/letsencrypt/boulder/pull/442
- https://github.com/letsencrypt/acme-spec/pull/156
2015-07-09 13:37:25 +00:00
Jakub Warmuz
5e450e879c
Save account private_key.json as 0o400. 2015-07-09 11:33:02 +00:00
Jakub Warmuz
7aa749174b
Fix achall response key chmods security bug. 2015-07-09 11:26:27 +00:00
Jakub Warmuz
0d24f52f6e
Expose le_util.safe_open. 2015-07-09 11:14:25 +00:00
Jakub Warmuz
3e2d1c8abc
get_cert_file -> get_cert_path. 2015-07-09 10:51:21 +00:00
Jakub Warmuz
1bc9e7cb64
Registration: drop singular email/phone 2015-07-09 06:53:06 +00:00
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
James Kasten
9d17ac7347 Use binary for all Define parameters 2015-07-08 17:17:54 -07:00
James Kasten
d850be2d73 Merge pull request #592 from kuba/acme-reg
acme: registration improvements
2015-07-08 13:53:20 -07:00
Jakub Warmuz
0d087788da
Accept new_reg in acme.client.Client.register. 2015-07-08 19:23:12 +00:00
Jakub Warmuz
7470bc8db6
RegistrationResource: return any phone/email from phones/emails or None. 2015-07-08 19:23:06 +00:00
James Kasten
8a5bb57a0c Merge branch 'master' into apache_modules
Conflicts:
	letsencrypt/cli.py
2015-07-08 12:16:23 -07:00
James Kasten
97b09ea1c6 Merge pull request #587 from kuba/docs
Update docs
2015-07-08 12:06:47 -07:00
James Kasten
bb831206b5 Merge pull request #591 from kuba/cryptography
Drop M2Crypto and PyCrypto.
2015-07-08 12:04:45 -07:00
Jakub Warmuz
36eafde213
Use ComparableRSAKey autowrap throughout the code base. 2015-07-08 12:07:05 +00:00
Jakub Warmuz
a7817de4ab
Rewrite JWK.load, JWKRSA autowraps ComparableRSAKey. 2015-07-08 12:00:16 +00:00
Jakub Warmuz
0955012569
Move asn1_generalizedtime_to_dt todo comment to docstring. 2015-07-08 08:41:13 +00:00
James Kasten
9b263f9859 outline init path 2015-07-07 13:18:22 -07:00
Jakub Warmuz
90b27ff9cf
ComparableX509Test for cert and CSR 2015-07-07 17:00:08 +00:00
Jakub Warmuz
9ab40444b6
More Python data model fixes for acme. 2015-07-07 08:15:33 +00:00
Jakub Warmuz
20a08b50f2
ComparableX509 and ComparableX509Req: __eq__, __ne__, __hash__ data model fixes. 2015-07-07 08:05:41 +00:00
Jakub Warmuz
9a9f91b4ee
Fix typo 2015-07-07 07:21:48 +00:00
Jakub Warmuz
e05b10974c
test/acme_util.py: fix nonce lengths 2015-07-07 07:20:48 +00:00
James Kasten
302b50db5e Merge pull request #586 from kuba/acme-client
acme.client bug fixes and refactor
2015-07-06 16:42:10 -07:00
James Kasten
d9d620180b Merge pull request #585 from kuba/xdg-user-dirs
Example dev config file, config file docs, $XDG_CONFIG_HOME.
2015-07-06 13:53:25 -07:00
Jakub Warmuz
e276f2aa6b
crypto imports cleanup 2015-07-06 12:18:31 +00:00
Jakub Warmuz
02e7154c0d
Drop M2Crypto 2015-07-06 12:18:27 +00:00
Jakub Warmuz
61aa29d28c
Drop PyCrypto. 2015-07-06 12:18:22 +00:00
Jakub Warmuz
9197fa6b5c
acme: M2Crypto -> pyOpenSSL 2015-07-06 12:18:17 +00:00
Jakub Warmuz
2c6ef0feef
Update hacking docs (venv/bin/activate, ./tox-cover.sh, integration, ipdb). 2015-07-06 09:19:00 +00:00
Jakub Warmuz
25f1e45d94
Remove acme.util docs 2015-07-06 07:55:29 +00:00
Jakub Warmuz
e0293d81f3
acme: drop PyCrypto and use cryptography instead.
- Use cryptography in acme.jose.jwa/jwk.
- Change Crypto.Random to os.urandom,
  c.f. https://cryptography.io/en/latest/random-numbers/?highlight=urandom
2015-07-05 20:36:20 +00:00
Jakub Warmuz
7c3c52c2b1
Add example dev config file, config file docs. 2015-07-03 15:02:01 +00:00
Jakub Warmuz
c639673de5
Read config from $XDG_CONFIG_HOME/letsencrypt/cli.ini. 2015-07-03 14:38:09 +00:00
Jakub Warmuz
74ce332b5a
Manual SimpleHTTP integration tests. 2015-07-03 09:49:14 +00:00
Jakub Warmuz
4407210e01
Fix --no-verify-ssl in HEAD, refactor acme.client_tests.
Fix #521 by introducing MissingNonceError, which by shows response
headers when printed to STDOUT. More sensible solution (a'la #523) is
blocked by boulder#417 (HTTP 405 response for HEAD).

Split out ClientNetworkWithMockedResponseTest from ClientNetworkTest,
which improves readability and makes it easier to test (less mocks).
2015-07-03 09:46:30 +00:00
Jakub Warmuz
2b32b94c0b
acme.client.ClientNetwork 2015-07-03 09:46:24 +00:00
James Kasten
5c24a4f499 Iterate on loaded modules 2015-07-02 15:18:39 -07:00
James Kasten
108bd22ca3 Merge pull request #579 from PatrickHeppler/master
Update README.rst
2015-07-02 09:23:24 -07:00
James Kasten
1bd49cef82 Merge pull request #575 from kuba/nginx-integration
Do not include /etc/nginx/mime.types in nginx integration testing.
2015-07-02 09:22:11 -07:00
James Kasten
d0f26132bc Merge pull request #572 from bradmw/merge-fix
Fixed traceback when not run as root
2015-07-02 09:20:38 -07:00
James Kasten
e140eca4f3 Merge pull request #570 from kuba/simplehttp
SimpleHTTP fixes
2015-07-02 09:19:21 -07:00
PatrickHeppler
5d575e78b2 Update README.rst
Fixed missing newline
2015-07-02 10:37:35 +02:00