public LetsDuckClient(ILoggerFactory loggerFactory, LetsEncryptConfiguration letsEncryptConfiguration, DuckDnsConfiguration duckDnsConfiguration, string letsEncryptPemKey = null) { Logger = loggerFactory.CreateLogger <LetsDuckClient>(); LetsEncryptClient = new LetsEncryptClient(letsEncryptConfiguration); DuckDnsClient = new DuckDnsClient(duckDnsConfiguration); LetsEncryptPemKey = letsEncryptPemKey; }
public async Task <byte[]> GetCertificateAsync() { if (LetsEncryptPemKey == null) { Logger.LogInformation("Creating account for LetsEncrypt.."); LetsEncryptPemKey = await LetsEncryptClient.CreateAccountAsync(); } else { Logger.LogInformation("Logging into LetsEncrypt.."); await LetsEncryptClient.LoginAsync(LetsEncryptPemKey); } Logger.LogInformation("Generating LetsEncrypt certificate.."); return(await LetsEncryptClient.GetCertificateAsync(SetDnsTxt)); }