aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scripts/gski.py23
-rw-r--r--scripts/rpki/x509.py6
2 files changed, 12 insertions, 17 deletions
diff --git a/scripts/gski.py b/scripts/gski.py
index 6d1e34c3..210f1a60 100644
--- a/scripts/gski.py
+++ b/scripts/gski.py
@@ -1,19 +1,14 @@
# $Id$
-import rpki.x509, POW.pkix, base64, getopt, sys
+import rpki.x509, POW.pkix, base64, sys
-opts, args = getopt.getopt(sys.argv[1:], "", ["pem", "der"])
+def g(x):
+ return base64.b64encode(x).replace("+", "-").replace("/", "_")
-use_pem = False
+def h(x):
+ return ":".join(("%02X" % ord(i) for i in x))
-for o, a in opts:
- if o == "--pem": use_pem = True
- if o == "--der": use_pem = False
-
-for file in args:
- if use_pem:
- cert = rpki.x509.X509(PEM_file=file)
- else:
- cert = rpki.x509.X509(DER_file=file)
- ski = base64.b64encode([x for x in cert.get_POWpkix().getExtensions() if x[0] == (2, 5, 29, 14)][0][2]).replace("+", "-").replace("/", "_")
- print ski, file
+for file in sys.argv[1:]:
+ cert = rpki.x509.X509(Auto_file = file)
+ ski = cert.get_SKI()
+ print g(ski), h(ski), file
diff --git a/scripts/rpki/x509.py b/scripts/rpki/x509.py
index a569e2a0..f1fb7cdc 100644
--- a/scripts/rpki/x509.py
+++ b/scripts/rpki/x509.py
@@ -23,7 +23,7 @@ class PEM_converter(object):
self.e = "-----END %s-----" % kind
def looks_like_PEM(self, text):
- return text.startswith(self.b)
+ return text.find(self.b) >= 0 and text.find(self.e) > 0
def to_DER(self, pem):
"""Convert from PEM to DER."""
@@ -211,11 +211,11 @@ class X509(DER_object):
def get_AKI(self):
"""Get the AKI extension from this certificate."""
- return self._get_POW_extensions().get("authorityKeyIdentifier")
+ return (self.get_POWpkix().getExtension((2, 5, 29, 35)) or ((), 0, None))[2]
def get_SKI(self):
"""Get the SKI extension from this certificate."""
- return self._get_POW_extensions().get("subjectKeyIdentifier")
+ return (self.get_POWpkix().getExtension((2, 5, 29, 14)) or ((), 0, None))[2]
def get_3779resources(self, as_intersector = None, v4_intersector = None, v6_intersector = None):
"""Get RFC 3779 resources as rpki.resource_set objects."""