diff options
author | Rob Austein <sra@hactrn.net> | 2014-04-15 21:40:58 +0000 |
---|---|---|
committer | Rob Austein <sra@hactrn.net> | 2014-04-15 21:40:58 +0000 |
commit | e26241f566ff54a4ef5bb4716763292959b86949 (patch) | |
tree | a26feff7d69dc4f3597c0a30e9a1ed8cf926f404 /rp/utils | |
parent | 32f12a3c239d68ef76f18c6c690571d3faa55651 (diff) |
Python version of print_rpki_manifest.
svn path=/trunk/; revision=5802
Diffstat (limited to 'rp/utils')
-rwxr-xr-x | rp/utils/print_roa.py | 2 | ||||
-rwxr-xr-x | rp/utils/print_rpki_manifest.py | 52 |
2 files changed, 53 insertions, 1 deletions
diff --git a/rp/utils/print_roa.py b/rp/utils/print_roa.py index 68deb286..fd7308d1 100755 --- a/rp/utils/print_roa.py +++ b/rp/utils/print_roa.py @@ -45,7 +45,7 @@ parser = argparse.ArgumentParser(description = __doc__) parser.add_argument("-b", "--brief", action = "store_true", help = "show only ASN and prefix(es)") parser.add_argument("-c", "--cms", action = "store_true", help = "print text representation of entire CMS blob") parser.add_argument("-s", "--signing-time", action = "store_true", help = "show SigningTime in brief mode") -parser.add_argument("roas", nargs = "+", type = ROA.derReadFile, help = "name of output directory to create") +parser.add_argument("roas", nargs = "+", type = ROA.derReadFile, help = "ROA(s) to print") args = parser.parse_args() for roa in args.roas: diff --git a/rp/utils/print_rpki_manifest.py b/rp/utils/print_rpki_manifest.py new file mode 100755 index 00000000..778b4310 --- /dev/null +++ b/rp/utils/print_rpki_manifest.py @@ -0,0 +1,52 @@ +#!/usr/bin/env python +# +# $Id$ +# +# Copyright (C) 2014 Dragon Research Labs ("DRL") +# +# Permission to use, copy, modify, and/or 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. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND DRL DISCLAIMS ALL WARRANTIES WITH +# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +# AND FITNESS. IN NO EVENT SHALL DRL 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. + +""" +Pretty-print the content of a manifest. Does NOT attempt to verify the +signature. +""" + +import os +import sys +import argparse +import rpki.POW +import rpki.oids + +parser = argparse.ArgumentParser(description = __doc__) +parser.add_argument("-c", "--cms", action = "store_true", help = "print text representation of entire CMS blob") +parser.add_argument("manifests", nargs = "+", type = rpki.POW.Manifest.derReadFile, help = "manifest(s) to print") +args = parser.parse_args() + +for mft in args.manifests: + mft.extractWithoutVerifying() + print "Manifest Version:", mft.getVersion() + print "SigningTime: ", mft.signingTime() + print "Number: ", mft.getManifestNumber() + print "thisUpdate: ", mft.getThisUpdate() + print "nextUpdate: ", mft.getNextUpdate() + print "fileHashAlg: ", rpki.oids.oid2name(mft.getAlgorithm()) + for i, fah in enumerate(mft.getFiles()): + name, hash = fah + print "fileList[%3d]: %s %s" % (i, ":".join(("%02X" % ord(h) for h in hash)), name) + if args.cms: + print mft.pprint() + for cer in mft.certs(): + print cer.pprint() + for crl in mft.crls(): + print crl.pprint() + print |