4

I've been using Screaming Frog to test the home pages of a few hundred sites I manage, to see what status codes they return. I noticed in my browser that one of those sites has an invalid (expired) SSL cert. I cannot see this anywhere in Screaming Frog.

Is there some way in Screaming Frog to view information about the status of the security certificates of URLs, such as Valid/Invalid, Expiry Date, Issued By, etc ?

4
  • 1
    I use this script run from a cron job to alert me that my certificates will be expiring soon: github.com/Matty9191/ssl-cert-check Commented Aug 26, 2022 at 12:21
  • @StephenOstermiller That's an awesome script! Commented Aug 26, 2022 at 12:34
  • 1
    It would be better if it had an option to produce no output if nothing is expiring within X days. To run it from cron I filter its output with a perl script so that it doesn't send me an email unless there is a problem gist.github.com/stephenostermiller/… Commented Aug 26, 2022 at 12:46
  • Nice workaround. I plan to ditch Certbot soon - most likely going to copy your setup Commented Aug 27, 2022 at 14:52

1 Answer 1

2
+50

Unfortunately, no. Screaming Frog is not capable of this. If you're comfortable using a terminal you could use OpenSSL though.

Here's a command that will verify the certs and pull the expiry date:

echo "Q" | openssl s_client -servername [domain] -connect [domain]:443 | openssl x509 -noout -dates

Example output:

 ~ % echo "Q" | openssl s_client -connect example.com:443 | openssl x509 -noout -dates 
depth=2 C = US, O = DigiCert Inc, OU = www.digicert.com, CN = DigiCert Global Root CA
verify return:1
depth=1 C = US, O = DigiCert Inc, CN = DigiCert TLS RSA SHA256 2020 CA1
verify return:1
depth=0 C = US, ST = California, L = Los Angeles, O = Internet\C2\A0Corporation\C2\A0for\C2\A0Assigned\C2\A0Names\C2\A0and\C2\A0Numbers, CN = www.example.org
verify return:1
DONE
notBefore=Mar 14 00:00:00 2022 GMT
notAfter=Mar 14 23:59:59 2023 GMT

If I was in your shoes, I'd probably write a shell script to gather this data for each site and run it on a cron.

2
  • Always use -servername in s_client otherwise you risk not connecting to proper site as SNI won't be activated. Depends of your openssl version too (newer ones do that automatically for you, not older ones) Commented Aug 26, 2022 at 0:04
  • Updated. Nice catch @PatrickMevzek Commented Aug 26, 2022 at 0:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.