diff options
author | Rob Austein <sra@hactrn.net> | 2014-04-11 12:16:15 +0000 |
---|---|---|
committer | Rob Austein <sra@hactrn.net> | 2014-04-11 12:16:15 +0000 |
commit | 8155acf989054abb03da825ac9bda084d7e8d36a (patch) | |
tree | b50df23a193addffca73b7528fe1b4e86da972b2 | |
parent | 45b95aaadc861b0e682373164fe18fa0c5ed2b2e (diff) |
Update to use current rpki.POW API.
svn path=/trunk/; revision=5785
-rwxr-xr-x | rp/utils/find-roa-expiration | 42 |
1 files changed, 25 insertions, 17 deletions
diff --git a/rp/utils/find-roa-expiration b/rp/utils/find-roa-expiration index 1401dc42..6a69eb78 100755 --- a/rp/utils/find-roa-expiration +++ b/rp/utils/find-roa-expiration @@ -1,17 +1,21 @@ +#!/usr/bin/env python +# # $Id$ +# +# Copyright (C) 2014 Dragon Research Labs ("DRL") +# Portions copyright (C) 2012 Internet Systems Consortium ("ISC") # -# Copyright (C) 2012 Internet Systems Consortium, Inc. ("ISC") -# -# Permission to use, copy, modify, and/or distribute this software for any +# Permission to use, copy, modify, and distribute this software for any # purpose with or without fee is hereby granted, provided that the above -# copyright notice and this permission notice appear in all copies. +# copyright notices and this permission notice appear in all copies. # -# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH -# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, -# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE -# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +# THE SOFTWARE IS PROVIDED "AS IS" AND DRL AND ISC DISCLAIM ALL +# WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED +# WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DRL OR +# ISC BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL +# DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA +# OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR # PERFORMANCE OF THIS SOFTWARE. """ @@ -20,6 +24,7 @@ ROA we find, dig out the expiration times of all the certificates involved in the authorization chain, all the way back to the root. """ +import os import sys import subprocess import rpki.POW @@ -35,10 +40,9 @@ def uri_to_filename(uri): return sys.argv[1] + "/" + uri[len("rsync://"):] def get_aia(x): - for i in xrange(x.countExtensions()): - ext = x.getExtension(i) - if ext[0] == "authorityInfoAccess": - return ext[2][ext[2].index("rsync://"):] + for aia in x.getAIA() or (): + if aia.startswith("rsync://"): + return aia return None for line in subprocess.check_output(["find_roa"] + sys.argv[1:]).splitlines(): @@ -54,8 +58,12 @@ for line in subprocess.check_output(["find_roa"] + sys.argv[1:]).splitlines(): while uri: fn = uri_to_filename(uri) - x = rpki.POW.X509.derReadFile(fn) - print x.getNotAfter(), uri - uri = get_aia(x) + if os.path.exists(fn): + x = rpki.POW.X509.derReadFile(fn) + print x.getNotAfter(), uri + uri = get_aia(x) + else: + print "***** MISSING ******", uri + uri = None print |