Skip to content
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.

Remove ACME support #9778

Closed
anoadragon453 opened this issue Apr 9, 2021 · 3 comments · Fixed by #10194
Closed

Remove ACME support #9778

anoadragon453 opened this issue Apr 9, 2021 · 3 comments · Fixed by #10194
Assignees
Labels
T-Task Refactoring, removal, replacement, enabling or disabling functionality, other engineering tasks.

Comments

@anoadragon453
Copy link
Member

Synapse currently only supports the ACMEv1 protocol, which has been deprecated by Let's Encrypt (the usual place one gets certs via ACME) since 2020. ACMEv2 is now required to request new certs and renew existing ones.

The library we use for ACME support, txacme, had implemented some promising work to support v2, but it is currently unfinished.

Advertising ACME support in Synapse currently is confusing to users. We should remove it for now (and potentially re-add it again in the future if a suitable ACMEv2 library surfaces).

@anoadragon453 anoadragon453 added the T-Task Refactoring, removal, replacement, enabling or disabling functionality, other engineering tasks. label Apr 9, 2021
@babolivier
Copy link
Contributor

babolivier commented Jun 17, 2021

Related: #6397

ACMEv2 is now required to request new certs and renew existing ones.

This wasn't true at the date this comment was written. At the time, it was still possible for existing installs to use ACME v1 to get LE certificates (see https://community.letsencrypt.org/t/end-of-life-plan-for-acmev1/88430), which is why it hasn't entirely been removed from Synapse yet. However it has been fully turned off a couple of weeks ago: https://community.letsencrypt.org/t/end-of-life-plan-for-acmev1/88430/27

The library we use for ACME support, txacme, had implemented some promising work to support v2, but it is currently unfinished.

There still hasn't been any progress on txacme supporting ACMEv2 for over a year so I don't think this is likely to happen anytime soon. Plus there's a question of whether this is something we want to continue supporting as a core Synapse feature, to which our answer would lean towards the negative.

So all should be clear for killing it off. I'll open a PR to do this.

@babolivier babolivier self-assigned this Jun 17, 2021
@anoadragon453
Copy link
Member Author

Plus there's a question of whether this is something we want to continue supporting as a core Synapse feature, to which our answer would lean towards the negative.

I wasn't aware that we were against having it as a feature if txacme implemented support. Though I do agree that it's best to remove it given txacme's current state.

@babolivier
Copy link
Contributor

I wasn't aware that we were against having it as a feature if txacme implemented support. Though I do agree that it's best to remove it given txacme's current state.

In general I think we want to lean more towards telling users to use a reverse proxy for this kind of things, rather than clobbering Synapse with features like this. iirc that's the reason we decided to remove the feature once ACMEv1 fully reaches EOL, back when we were investigating what to do about its deprecation.

babolivier added a commit that referenced this issue Jun 17, 2021
Fixes #9778

ACME v1 has been fully decommissioned for existing installs on June 1st 2021(see https://community.letsencrypt.org/t/end-of-life-plan-for-acmev1/88430/27), so we can now safely remove it from Synapse.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
T-Task Refactoring, removal, replacement, enabling or disabling functionality, other engineering tasks.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants