ACME: add support for POST-as-GET if GET fails with 405. (#44988)

* Add support for POST-as-GET if GET fails with 405.

* Bumping ACME test container version to 1.4. This includes letsencrypt/pebble#162 and letsencrypt/pebble#168.

* Also use POST-as-GET for account data retrival.

This is not yet supported by any ACME server (see letsencrypt/pebble#171),
so we fall back to a regular empty update if a 'malformedRequest' error is
returned.

* Using newest ACME test container image.

Includes letsencrypt/pebble#171 and letsencrypt/pebble#172, which make Pebble behave closer to the current specs.

* Remove workaround for old Pebble version.

* Add changelog entry.

* First try POST-as-GET, then fall back to unauthenticated GET.
This commit is contained in:
Felix Fontein 2018-10-29 10:32:53 +01:00 committed by René Moser
commit 92d9569bc9
3 changed files with 45 additions and 11 deletions

View file

@ -43,7 +43,7 @@ class ACMEProvider(CloudProvider):
if os.environ.get('ANSIBLE_ACME_CONTAINER'):
self.image = os.environ.get('ANSIBLE_ACME_CONTAINER')
else:
self.image = 'quay.io/ansible/acme-test-container:1.3.0'
self.image = 'quay.io/ansible/acme-test-container:1.4.1'
self.container_name = ''
def _wait_for_service(self, protocol, acme_host, port, local_part, name):