Fix acme compliance to RFC 8555 (#7176)

This PR is an alternative to #7125.

Instead of disabling the strict mode on Pebble, this PR fixes the JWS payloads regarding RFC 8555 to be compliant, and allow certbot to work with Pebble v2.1.0+.

* Fix acme compliance to RFC 8555.

* Working mixin

* Activate back pebble strict mode

* Use mixin for type

* Update dependencies

* Fix also in fields_to_partial_json

* Update pebble

* Add changelog
This commit is contained in:
Adrien Ferrand
2020-03-13 09:56:35 -07:00
committed by GitHub
parent 07abe7a8d6
commit 809cb516c9
14 changed files with 116 additions and 17 deletions
+2 -1
View File
@@ -20,7 +20,8 @@ Certbot adheres to [Semantic Versioning](https://semver.org/).
### Fixed
*
* When using an RFC 8555 compliant endpoint, the `acme` library no longer sends the
`resource` field in any requests or the `type` field when responding to challenges.
More details about these changes can be found on our GitHub repo.
+1 -1
View File
@@ -1,2 +1,2 @@
# Remember to update setup.py to match the package versions below.
acme[dev]==0.40.0
-e acme[dev]
+1 -1
View File
@@ -36,7 +36,7 @@ version = meta['version']
# specified here to avoid masking the more specific request requirements in
# acme. See https://github.com/pypa/pip/issues/988 for more info.
install_requires = [
'acme>=0.40.0',
'acme>=1.4.0.dev0',
# We technically need ConfigArgParse 0.10.0 for Python 2.6 support, but
# saying so here causes a runtime error against our temporary fork of 0.9.3
# in which we added 2.6 support (see #2243), so we relax the requirement.