Skip to content

Instantly share code, notes, and snippets.

@Maarten88
Last active March 21, 2017 20:40
Show Gist options
  • Save Maarten88/bf1219291c938d353ea1cfafca4545e8 to your computer and use it in GitHub Desktop.
Save Maarten88/bf1219291c938d353ea1cfafca4545e8 to your computer and use it in GitHub Desktop.
// Register a certitificate manager, supplying methods to store and retreive certificates and acme challenge responses
services.AddAcmeCertificateManager(options => {
options.DomainNames = httpsDomains;
options.GetChallengeResponse = async (challenge) =>
{
var cacheGrain = GrainClient.GrainFactory.GetGrain<ICacheGrain<string>>(challenge);
var response = await cacheGrain.Get();
return response.Value;
};
options.SetChallengeResponse = async (challenge, response) =>
{
var cacheGrain = GrainClient.GrainFactory.GetGrain<ICacheGrain<string>>(challenge);
await cacheGrain.Set(new Immutable<string>(response), TimeSpan.FromHours(2));
};
options.StoreCertificate = async (string domainName, byte[] certData) => {
var certGrain = GrainClient.GrainFactory.GetGrain<ICertGrain>(domainName);
await certGrain.UpdateCertificate(certData);
};
options.RetrieveCertificate = async (domainName) => {
var certGrain = GrainClient.GrainFactory.GetGrain<ICertGrain>(domainName);
var certData = await certGrain.GetCertificate();
return certData.Value;
};
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment