diff options
Diffstat (limited to 'rpkid/rpki/rpki_engine.py')
-rw-r--r-- | rpkid/rpki/rpki_engine.py | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/rpkid/rpki/rpki_engine.py b/rpkid/rpki/rpki_engine.py index 7350b2d0..343d3a98 100644 --- a/rpkid/rpki/rpki_engine.py +++ b/rpkid/rpki/rpki_engine.py @@ -976,10 +976,11 @@ class child_cert_obj(rpki.sql.sql_persistent): """Return the publication URI for this child_cert.""" return ca.sia_uri + self.uri_tail() - def revoke(self, publisher): + def revoke(self, publisher, generate_crl_and_manifest = False): """ Revoke a child cert. """ + ca_detail = self.ca_detail() ca = ca_detail.ca() rpki.log.debug("Revoking %r %r" % (self, self.uri(ca))) @@ -987,6 +988,9 @@ class child_cert_obj(rpki.sql.sql_persistent): publisher.withdraw(cls = rpki.publication.certificate_elt, uri = self.uri(ca), obj = self.cert, repository = ca.parent().repository()) self.gctx.sql.sweep() self.sql_delete() + if generate_crl_and_manifest: + ca_detail.generate_crl(publisher = publisher) + ca_detail.generate_manifest(publisher = publisher) def reissue(self, ca_detail, publisher, resources = None, sia = None): """ |