aboutsummaryrefslogtreecommitdiff
path: root/myrpki.rototill/myrpki.py
diff options
context:
space:
mode:
Diffstat (limited to 'myrpki.rototill/myrpki.py')
-rw-r--r--myrpki.rototill/myrpki.py18
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):
"""