aboutsummaryrefslogtreecommitdiff
path: root/rp/utils
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2014-04-11 12:16:15 +0000
committerRob Austein <sra@hactrn.net>2014-04-11 12:16:15 +0000
commit8155acf989054abb03da825ac9bda084d7e8d36a (patch)
treeb50df23a193addffca73b7528fe1b4e86da972b2 /rp/utils
parent45b95aaadc861b0e682373164fe18fa0c5ed2b2e (diff)
Update to use current rpki.POW API.
svn path=/trunk/; revision=5785
Diffstat (limited to 'rp/utils')
-rwxr-xr-xrp/utils/find-roa-expiration42
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