diff options
-rw-r--r-- | scripts/gski.py | 23 | ||||
-rw-r--r-- | scripts/rpki/x509.py | 6 |
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.""" |