Not really a programming question by itself, but interesting for those who do commercial web design.

How can you track all your clients' hosting, domain registration, and SSL certificate expiry dates?

Would you just have a spreadsheet or perhaps is there some helpful software program with this?

I have looked extensively and should not look for a functional software program and am enticed to create something. With 100+ clients to handle, with hosting and domains spread across several website hosts and registrars, my random means are failing.

You'd most likely be best using whatever tool you always use for controlling your time and effortOrroutine than getting some specialized tool. Whether it is Outlook, Sunbird, Lightning, a PDA, mobile phone, paper calendar, etc. Only use whatever tool you normally use for monitoring dates.


To elaborate, the main reason you would like everything in the same location because the relaxation of the important dates is it guarantees (a minimum of just a little) that you simply give consideration towards the list. If you are with a couple other type of program, it's too simple to outside, hurry up a couple of days, and end up forgetting to check out your personal tool, and finish up letting something expire that should not expire.

What about we transform it into a programming question! You could utilize this code (C#), though I would suggest modifying it a little (e.g. put url's inside a file) and tossing it right into a service.

This code creates certificates validation callback that the HttpWebRequest will call anytime it encounters certificates. This allows us have a look in the certificate, usually this really is accustomed to validate the cert but we will consider the expiration time and when it within 3 several weeks we'll send a contact to ourselves. A timer is setup to operate the check daily.

using System.Internet

using System.Diagnostics

using System.Internet.Mail

using System.Threads

static void Primary(string[] args)

web addresses = new string[]world wide",

        "https://world wide"


    HttpWebRequest req = null

    // Certificate check callback

    ServicePointManager.ServerCertificateValidationCallback = (condition, cert, certChain, sslerr) =>

    monosodium glutamate = new MailMessage("", "", "SSL Certificate Expiring", "The ssl certificate for" + req.RequestUri.ToString() + " will expire on " + expiration.ToShortDateString())

            SmtpClient sc = new SmtpClient()

            sc.Send(monosodium glutamate)


        return true


    // Request each url daily to ensure that the validation callback runs for every

    Timer t = new Timer(s =>

    web addresses, url =>


            catch (Exception ex)



    , null, TimeSpan.FromSeconds(), TimeSpan.FromDays(1))  // Run the timer now and schedule to operate daily

In relation to controlling SSL certs, you can write a script that calls OpenSSL or you want something ready to use you could attempt this:

SSL Certificate Discovery and Monitoring Tool

It'll find and catalogue certificates in your systems and send email alerts when they're approaching expiry. The outcomes could be imported into an internet based tool known as Cert Center.

Also there's this general purpose monitor that may track the certs you know it about:

General Purpose Monitor