diff options
author | Rob Austein <sra@hactrn.net> | 2007-10-09 20:01:53 +0000 |
---|---|---|
committer | Rob Austein <sra@hactrn.net> | 2007-10-09 20:01:53 +0000 |
commit | 2b6adf23df4b86d1ad35d6d018bb2383a13cb33f (patch) | |
tree | f18cd8645629a3173645648852fce906f2e54e15 /scripts/rpki | |
parent | 6a1daf6220fcbe044ed8a4f28e4b5ab618b00ca9 (diff) |
Tools to build manifests
svn path=/scripts/manifests.py; revision=1138
Diffstat (limited to 'scripts/rpki')
-rw-r--r-- | scripts/rpki/x509.py | 14 |
1 files changed, 14 insertions, 0 deletions
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.""" |