Jakub Warmuz
d86ade674d
include_package_data in apache and nginx plugins
...
ref https://github.com/letsencrypt/letsencrypt/issues/625
2015-07-29 19:57:12 +00:00
Jakub Warmuz
ab097d128b
Fix logging -> logger typo.
2015-07-24 06:41:56 +00:00
Jakub Warmuz
82147f1f5e
Travis: add le.wtf to /etc/hosts.
2015-07-19 11:22:57 +00:00
Jakub Warmuz
9e2682a025
100% coverage for manual test mode and related code.
2015-07-19 11:04:29 +00:00
Jakub Warmuz
09e658c486
Merge remote-tracking branch 'github/letsencrypt/master' into manual-integration
2015-07-19 10:00:10 +00:00
Jakub Warmuz
3825633f46
Merge remote-tracking branch 'github/letsencrypt/master' into manual-integration
...
Conflicts:
letsencrypt/auth_handler.py
2015-07-19 07:49:32 +00:00
Jakub Warmuz
fe3c3be675
Travis: run Boulder in AMQP mode ( fixes #620 ).
2015-07-18 19:31:56 +00:00
Jakub Warmuz
7a79915f0c
Common plugin: export key to PKCS8, not OpenSSL.
2015-07-18 13:00:05 +00:00
Jakub Warmuz
61e19c9882
DVSNIResponse.gen_cert, fix verify_cert, add tests.
2015-07-18 12:54:33 +00:00
Jakub Warmuz
f3538cd114
Add comment about _DEFAULT_DVSNI_SSL_METHOD.
2015-07-18 07:33:46 +00:00
Jakub Warmuz
33d7f205fa
Merge remote-tracking branch 'github/letsencrypt/master' into dvsni-verify
...
Conflicts:
acme/acme/challenges.py
2015-07-18 06:51:26 +00:00
Jakub Warmuz
fcc470d0a2
Fix "reg vs new-reg" encoding problem.
2015-07-17 14:59:32 +00:00
Jakub Warmuz
d618a66c2e
Remove old protocol ChallengeResponse code.
2015-07-17 14:59:32 +00:00
Jakub Warmuz
dc9fbfa4bb
Merge branch 'boulder-debug-server-8080' into gitignore
2015-07-17 08:45:39 +00:00
Jakub Warmuz
b09f750a85
Merge branch 'boulder-debug-server-8080' into pkgs_sep_prep
2015-07-17 08:44:57 +00:00
Jakub Warmuz
0d63c94b8e
Move nginx-boulder integration tests to subpkg dir.
2015-07-17 08:41:27 +00:00
Jakub Warmuz
5a15af5abe
Change integration nginx port to 8081.
...
Ref https://github.com/letsencrypt/boulder/issues/482 .
2015-07-17 08:30:34 +00:00
Jakub Warmuz
d5a2638f22
Remove subpackages symlinks.
...
This is a follow-up for merged
https://github.com/letsencrypt/boulder/pull/459 .
2015-07-17 08:12:00 +00:00
Jakub Warmuz
96f12fe668
Gitignore /.tox/
2015-07-17 08:10:49 +00:00
Jakub Warmuz
d7eccd5a1a
Merge branch 'nginx-mock-external' into argparse-py26
2015-07-15 16:20:17 +00:00
Jakub Warmuz
9522d847d7
Mock external resource in nginx plugin tests.
...
External DNS entry has been updated causing test failures, e.g.
https://travis-ci.org/kuba/letsencrypt/builds/71101879 .
2015-07-15 15:57:51 +00:00
Jakub Warmuz
b943fab35a
Require argparse only in Python 2.6.
...
Fixes packaging issues.
2015-07-15 15:38:30 +00:00
Jakub Warmuz
d7d98d79ce
please pylint
2015-07-13 20:24:16 +00:00
Jakub Warmuz
bfe6adf215
py3 compat
2015-07-13 20:19:32 +00:00
Jakub Warmuz
deacfc8a74
Merge remote-tracking branch 'github/letsencrypt/master' into dvsni-verify
2015-07-13 19:27:13 +00:00
Jakub Warmuz
c546dddd7f
Add DVSNIResponse.verify_cert.
2015-07-13 19:26:26 +00:00
Jakub Warmuz
9f31976928
Add acme.crypto_util._serve_sni and ServeProbeSNITest.
2015-07-13 19:26:25 +00:00
Jakub Warmuz
c2a8195f19
Move _pyopenssl_cert_or_req_san to acme.
2015-07-13 11:02:27 +00:00
Jakub Warmuz
ccc6a3212b
Simple DVSNI verification
2015-07-12 19:11:55 +00:00
Jakub Warmuz
7f46e69454
Update ignore files to remove shared tox.venv
2015-07-12 15:30:51 +00:00
Jakub Warmuz
f37b919210
Travis: run boulder-start.sh only if BOULDER_INTEGRATION is set.
2015-07-12 15:25:43 +00:00
Jakub Warmuz
160a96052b
tox/Travis: test Python 3.3
2015-07-12 15:20:52 +00:00
Jakub Warmuz
5859e87ced
b64encode: no support for bytearray (py2.6 problems)
2015-07-12 15:20:25 +00:00
Jakub Warmuz
596132292a
Travis: test Python 3.4.
2015-07-12 15:07:25 +00:00
Jakub Warmuz
7bc1cd4454
Remove shared tox venv
2015-07-12 15:04:01 +00:00
Jakub Warmuz
d361937b67
RTFD: install subpkgs.
2015-07-12 13:39:40 +00:00
Jakub Warmuz
12720a2252
Fix CSR loading in ACME example client script.
2015-07-12 11:53:18 +00:00
Jakub Warmuz
5d6d901655
Add py3 tox tests for acme.jose
2015-07-12 11:53:18 +00:00
Jakub Warmuz
c0ba26776a
Support for py3.3+ in acme
2015-07-12 11:53:18 +00:00
Jakub Warmuz
a876a664df
Add py3 tox tests for acme.jose
2015-07-12 11:37:56 +00:00
Jakub Warmuz
802b9d4a43
Support for py3.3+ in acme.jose.
2015-07-12 11:37:56 +00:00
Jakub Warmuz
10e993331c
Update installation instructions for pkgs subdirs (include trailing slash).
2015-07-11 06:09:52 +00:00
Jakub Warmuz
04c12a5e38
Update package references after subdirs rename for Vagrant and Docker.
2015-07-11 05:15:10 +00:00
Jakub Warmuz
c85fa02495
Leave letsencrypt_ symlinks for Boulder integration testing.
2015-07-11 05:08:43 +00:00
Jakub Warmuz
a462e38cab
Update package references after subdirs rename.
2015-07-11 04:33:07 +00:00
Jakub Warmuz
120a94f84f
mv letsencrypt_* letsencrypt-*.
2015-07-11 04:31:18 +00:00
Jakub Warmuz
0b4a85c145
Once again fix travis/tox venv path.
2015-07-10 17:29:28 +00:00
Jakub Warmuz
ff8925d92f
Update sys.path in docs/conf.py for Sphinx to find subdir packages.
2015-07-10 17:22:52 +00:00
Jakub Warmuz
2ae6ac2bfd
Travis: tox-venv activation path adjustment
2015-07-10 17:13:25 +00:00
Jakub Warmuz
db1e078c06
Shared tox envdir
2015-07-10 16:40:46 +00:00
Jakub Warmuz
2e9cf9a5d5
Include requirements.txt in sdist
2015-07-10 16:39:05 +00:00
Jakub Warmuz
b9df69af9f
Basic dev/test setup for separate package subdirectories.
2015-07-10 16:38:42 +00:00
Jakub Warmuz
2f9cd68807
Move acme and plugins to respective subdirectories.
...
for x in acme letsencrypt_nginx letsencrypt_apache; do git mv $x _$x; mkdir $x; git mv _$x $x/$x; done
2015-07-10 16:18:15 +00:00
Jakub Warmuz
b0c72410ba
Unified vector loading in letsencrypt.
2015-07-10 15:49:18 +00:00
Jakub Warmuz
0e474436c4
Unified vector loading in acme.
2015-07-10 15:16:58 +00:00
Jakub Warmuz
19c73249ca
Sort vectors: acme/testdata, separate acme and letsencrypt.
2015-07-10 15:16:48 +00:00
Jakub Warmuz
c57cd239c3
Register key creation before writing out.
2015-07-10 07:25:29 +00:00
Jakub Warmuz
4ebc20402b
Pin mock<1.1.0 (Python 2.6 support).
2015-07-10 07:21:07 +00:00
Jakub Warmuz
1d35946b4e
Fix PickPluginTest.test_no_defaults.
2015-07-10 06:51:09 +00:00
Jakub Warmuz
15f443dced
assert_called_once -> assertEqual(1, *.call_count)
2015-07-10 06:42:02 +00:00
Jakub Warmuz
56d8c60df6
Fix letsencrypt.tests.client_test.
2015-07-10 06:24:06 +00:00
Jakub Warmuz
0c46f80fdd
assert_callend_once -> assert_called_once
2015-07-10 05:44:21 +00:00
Jakub Warmuz
30a02d4487
Accounts: raise AccountStorageError on id mismatch (instead of assertion).
...
This allows find_all() to skip broken account, instead of failing with
AssertionError.
2015-07-10 05:34:33 +00:00
Jakub Warmuz
f4d5ce1986
Include Account.id in the Account.slug.
2015-07-10 05:27:01 +00:00
Jakub Warmuz
f24479ebfc
100% coverage for letsencrypt.account.
2015-07-10 05:17:24 +00:00
Jakub Warmuz
581875bde3
Account.id: use key md5 hexdigest.
2015-07-10 05:14:50 +00:00
Jakub Warmuz
517c9bd736
Fix new-regr -> new-reg typo
2015-07-09 19:04:41 +00: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
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
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
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
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
Jakub Warmuz
dc9ffdbb7f
Update old TODO comment.
2015-07-02 04:51:41 +00:00
Jakub Warmuz
a7a863e1f2
Do not include /etc/nginx/mime.types in nginx integration testing.
...
This file (or /etc/nginx in whole) might not exist on the target
system.
2015-06-30 14:52:48 +00:00
Jakub Warmuz
2ec451d00b
IConfig.simple_http_port ( fixes #542 ).
2015-06-29 07:58:36 +00:00
Jakub Warmuz
29e56d442f
Fix line-too-long
2015-06-29 07:56:22 +00:00