Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: implement support multi-server cert requests and deployment #397

Open
webprofusion-chrisc opened this issue Dec 11, 2018 · 0 comments

Comments

@webprofusion-chrisc
Copy link
Contributor

Currently the app does not provide a single method for certificates requests to managed and deployed among multiple servers/services, although users can use custom scripting and other techniques to achieve shared certificate deployment.

While the Centralised Certificate Store (CCS) feature of windows allows shared distribution of a certificate it does not provide a scenario for custom distribution triggers to non-windows environments and does not provide a solution for shared challenge response responsibility (where one of multiple servers may be asked to respond to an acme-challenge, e.g. the http challenge response) as part of an overall certificate renewal request.

This is a tracking issue for the broader set of work required to provide a comprehensive solution for both load balanced/web farm scenarios and other certificate sharing scenarios.

Related issues #209, #324, #281, #29

The proposed solution is:

  • Implement basic support for CCS as an option for people already using CCS to distribute certificates
  • Implement a local API/system where one server can be in charge of initiating and completing certificate requests but many servers can participate in challenge response (by asking the master server what the challenge response should be). Enrollment to be controlled by a shared secret. Replacing the shared secret requires updating each client to continue being enrolled.
  • Implement a local API/system allowing local distribution of a new certificate to those requesting clients which can prove possession of the shared secret.
  • Potentially Implement a hosted API using a shared key for asset encryption whereby a new certificate can be distributed to entitled services via the API (if the client proves it knows the shared key, the API server will distribute the encrypted asset for the client to decrypt and use).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant