aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--rpkid/portal-gui/scripts/rpkigui-check-expired.py49
1 files changed, 32 insertions, 17 deletions
diff --git a/rpkid/portal-gui/scripts/rpkigui-check-expired.py b/rpkid/portal-gui/scripts/rpkigui-check-expired.py
index a5fdca1d..506e2556 100644
--- a/rpkid/portal-gui/scripts/rpkigui-check-expired.py
+++ b/rpkid/portal-gui/scripts/rpkigui-check-expired.py
@@ -26,11 +26,24 @@ from optparse import OptionParser
# check for certs expiring in this many days or less
expire_days = 14
-expire_time = datetime.datetime.utcnow() + datetime.timedelta(expire_days)
+now = datetime.datetime.utcnow()
+expire_time = now + datetime.timedelta(expire_days)
Verbose = False
+def check_cross_cert_expired(conf, x):
+ for p in x:
+ t = p.ta.getNotAfter()
+ if t <= expire_time:
+ e = 'expired' if t <= now else 'will expire'
+ print "%s's TA for %s %s %s on %s" % (conf.handle, p.__class__.__name__, p.handle, e, t)
+ t = p.certificate.getNotAfter()
+ if t <= expire_time:
+ e = 'expired' if t <= now else 'will expire'
+ print "%s's cross cert for %s %s %s on %s" % (conf.handle, p.__class__.__name__, p.handle, e, t)
+
+
def check_expire(handle):
if Verbose:
print 'checking rescert expiration for %s' % handle
@@ -60,21 +73,23 @@ def check_expire(handle):
print "\n".join(msg)
-if __name__ == '__main__':
- parser = OptionParser()
- parser.add_option('-v', '--verbose', help='enable verbose output',
- action='store_true', dest='verbose',
- default=False)
- parser.add_option('-V', '--version', help='display script version',
- action='store_true', dest='version', default=False)
- (options, args) = parser.parse_args()
- if options.version:
- print __version__
- sys.exit(0)
- Verbose = options.verbose
+parser = OptionParser()
+parser.add_option('-v', '--verbose', help='enable verbose output',
+ action='store_true', dest='verbose',
+ default=False)
+parser.add_option('-V', '--version', help='display script version',
+ action='store_true', dest='version', default=False)
+(options, args) = parser.parse_args()
+if options.version:
+ print __version__
+ sys.exit(0)
+Verbose = options.verbose
- # check expiration of certs for all handles managed by the web portal
- for h in Conf.objects.all():
- check_expire(h)
+# check expiration of certs for all handles managed by the web portal
+for h in Conf.objects.all():
+ check_cross_cert_expired(h, h.parents.all())
+ check_cross_cert_expired(h, h.children.all())
+ check_cross_cert_expired(h, h.repositories.all())
+ check_expire(h)
- sys.exit(0)
+sys.exit(0)