From 2b6adf23df4b86d1ad35d6d018bb2383a13cb33f Mon Sep 17 00:00:00 2001 From: Rob Austein Date: Tue, 9 Oct 2007 20:01:53 +0000 Subject: Tools to build manifests svn path=/scripts/manifests.py; revision=1138 --- scripts/rpki/x509.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'scripts/rpki/x509.py') diff --git a/scripts/rpki/x509.py b/scripts/rpki/x509.py index 605a698f..7f82cd56 100644 --- a/scripts/rpki/x509.py +++ b/scripts/rpki/x509.py @@ -552,6 +552,20 @@ class SignedManifest(DER_object): def verify(self, ta): self.content = rpki.cms.verify(self.get_DER(), ta) + def build(self, serial, nextUpdate, names_and_objs): + filelist = [] + for name, obj in names_and_objs: + d = POW.Digest(POW.SHA256_DIGEST) + d.update(obj.get_DER()) + filelist.append((name.rpartition("/")[2], d.digest())) + m = rpki.manifest.Manifest() + m.manifestNumber.set(serial) + m.thisUpdate.set(POW.pkix.time2gen(time.time())) + m.nextUpdate.set(POW.pkix.time2gen(nextUpdate)) + m.fileHashAlg.set((2, 16, 840, 1, 101, 3, 4, 2, 1)) # id-sha256 + m.fileList.set(filelist) + self.set_content(m) + class CRL(DER_object): """Class to hold a Certificate Revocation List.""" -- cgit v1.2.3