From 14f686baedd1309c1e3ad1de9788d8074d8b8576 Mon Sep 17 00:00:00 2001 From: Yannik Enss Date: Wed, 28 Dec 2022 02:37:31 +0100 Subject: [PATCH] openssl versions are too old --- check_cert_file_expiry.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/check_cert_file_expiry.py b/check_cert_file_expiry.py index 11f8c36..9734680 100755 --- a/check_cert_file_expiry.py +++ b/check_cert_file_expiry.py @@ -5,6 +5,7 @@ import datetime import argparse import enum import sys +from email.utils import parsedate_to_datetime class Status(enum.Enum): OK = 0 @@ -18,12 +19,10 @@ def get_expiry_date(filename): "x509", "-in", filename, "-enddate", - "-dateopt", "iso_8601", "-noout"], text=True, capture_output=True, check=True) date = finished_process.stdout.strip().split("=")[1] - date = date.replace("Z", "") # needed for python < 3.11, because python is stupid - date = datetime.datetime.fromisoformat(date) + date = parsedate_to_datetime(date) return date def is_expired(filename, days_from_now=0): @@ -54,7 +53,8 @@ if __name__ == '__main__': try: expiry_date = get_expiry_date(args.file) - perfdata["expires_in"] = (expiry_date - datetime.datetime.now()).days + + perfdata["expires_in"] = (expiry_date - datetime.datetime.now(expiry_date.tzinfo)).days if is_expired(args.file, 0): message = f"Expired on {expiry_date}"