diff options
Diffstat (limited to 'myrpki.rototill/myrpki.py')
-rw-r--r-- | myrpki.rototill/myrpki.py | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/myrpki.rototill/myrpki.py b/myrpki.rototill/myrpki.py index 5466ef8d..9509e85e 100644 --- a/myrpki.rototill/myrpki.py +++ b/myrpki.rototill/myrpki.py @@ -516,16 +516,20 @@ class CA(object): self.run_ca("-extensions", "ca_x509_ext_ee", "-in", req_file, "-out", cer_file) return req_file, cer_file - - def fxcert(self, filename, cert, path_restriction = 0): + + def fxcert(self, pem, filename = None, path_restriction = 0): """ Write PEM certificate to file, then cross-certify. """ - fn = os.path.join(self.dir, filename) - f = open(fn, "w") - f.write(cert) - f.close() - return self.xcert(fn, path_restriction) + fn = os.path.join(self.dir, filename or "temp.%s.cer" % os.getpid()) + try: + f = open(fn, "w") + f.write(pem) + f.close() + return self.xcert(fn, path_restriction) + finally: + if not filename and os.path.exists(fn): + os.unlink(fn) def xcert(self, cert, path_restriction = 0): """ |