public void Execute() { Log.Instance.Ssl.Write("try renewing at: " + DateTime.Now.ToLongTimeString()); var todayInt = DateTime.Now.DayOfYear; if (todayInt != lastCheckDay) { lastCheckDay = todayInt; var list = GlobalDb.SslCertificate.GetAllInUsed(); var checkbefore = DateTime.Now.AddDays(10); var items = list.Where(o => o.Expiration < checkbefore).ToList(); var logitems = items.Select(o => o.Domain).ToList(); if (logitems != null && logitems.Any()) { Kooboo.Data.Log.Instance.Ssl.WriteObj(logitems); } foreach (var item in items) { SslService.SetSsl(item.Domain, item.OrganizationId); } } }
public void Execute() { if (DateTime.Now.Hour == 2 || DateTime.Now.Hour == 3) { foreach (var item in Kooboo.Data.GlobalDb.SslCertificate.GetAllInUsed()) { if (item.Expiration < DateTime.Now.AddDays(10)) { SslService.SetSsl(item.Domain, item.OrganizationId); } } } }
public async Task Invoke(RenderContext context) { /// http://your.domain.name/.well-known/acme-challenge/ if (context.Request.RelativeUrl != null && context.Request.RelativeUrl.ToLower().StartsWith("/.well-known/acme-challenge")) { var host = context.Request.Host; string validate = context.Request.QueryString.Get("validate"); if (string.IsNullOrWhiteSpace(validate)) { // this is for real... not for validation check. string token = SslService.GetToken(host); if (!string.IsNullOrWhiteSpace(token)) { context.Response.Body = System.Text.Encoding.UTF8.GetBytes(token); context.Response.ContentType = "text/html;charset=utf-8; "; context.Response.End = true; } } else { var checkok = SslService.Verify(host, validate); if (checkok) { context.Response.Body = System.Text.Encoding.UTF8.GetBytes("[OK]"); context.Response.ContentType = "text/html;charset=utf-8; "; context.Response.End = true; } else { context.Response.Body = System.Text.Encoding.UTF8.GetBytes("[error]"); context.Response.StatusCode = 403; context.Response.ContentType = "text/html;charset=utf-8; "; context.Response.End = true; } } } else { await Next.Invoke(context); } }
public static void EnsureServerHostDomain() { if (!Data.AppSettings.IsOnlineServer) { return; } var setting = Kooboo.Data.AppSettings.ServerSetting; if (setting != null && setting.MyIP != "127.0.0.1" && setting.ServerId > 0) { if (!string.IsNullOrWhiteSpace(setting.HostDomain)) { var domain = setting.ServerId + "." + setting.HostDomain; Console.WriteLine("generating domain:" + domain); SslService.SetSsl(domain, default(Guid)); } } }
public void Execute() { var now = DateTime.Now; var todayInt = now.DayOfYear; if (todayInt != lastCheckDay) { if (now.Hour == 2 || now.Hour == 3 || now.Hour == 4 || now.Hour == 5 || now.Hour == 6) { foreach (var item in Kooboo.Data.GlobalDb.SslCertificate.GetAllInUsed()) { if (item.Expiration < DateTime.Now.AddDays(10)) { SslService.SetSsl(item.Domain, item.OrganizationId); } } lastCheckDay = todayInt; } } }