diff options
Diffstat (limited to 'scripts/manifests.py')
-rw-r--r-- | scripts/manifests.py | 28 |
1 files changed, 18 insertions, 10 deletions
diff --git a/scripts/manifests.py b/scripts/manifests.py index 4991ffa2..abf0441b 100644 --- a/scripts/manifests.py +++ b/scripts/manifests.py @@ -2,24 +2,32 @@ import rpki.x509, rpki.manifest, time, POW, POW.pkix, glob, os +now = time.time() + +certs = glob.glob("resource-cert-samples/*.cer") + def one_cert(filename): c = rpki.x509.X509(Auto_file = filename) d = POW.Digest(POW.SHA256_DIGEST) d.update(c.get_DER()) return filename.rpartition("/")[2], d.digest() -now = time.time() +mani1 = rpki.manifest.Manifest() +mani1.set((0, # version + 17, # manifestNumber + POW.pkix.time2gen(now), # thisUpdate + POW.pkix.time2gen(now + 24*60*60), # nextUpdate + (2, 16, 840, 1, 101, 3, 4, 2, 1), # id-sha256 + [one_cert(i) for i in certs])) -certs = glob.glob("resource-cert-samples/*.cer") +m = rpki.x509.SignedManifest() +m.build(serial = 17, + nextUpdate = now + 24 * 60 * 60, + names_and_objs = [(fn, rpki.x509.X509(Auto_file = fn)) for fn in certs]) +mani2 = m.get_content() -mani = rpki.manifest.Manifest() -mani.set((0, # version - 17, # manifestNumber - POW.pkix.time2gen(now), # thisUpdate - POW.pkix.time2gen(now + 24*60*60), # nextUpdate - (2, 16, 840, 1, 101, 3, 4, 2, 1), # id-sha256 - [one_cert(i) for i in certs])) +assert mani1.toString() == mani2.toString() f = os.popen("dumpasn1 -a - 2>/dev/null", "w") -f.write(mani.toString()) +f.write(mani2.toString()) f.close() |