summaryrefslogtreecommitdiffstats
path: root/ipaserver/install/certs.py
diff options
context:
space:
mode:
Diffstat (limited to 'ipaserver/install/certs.py')
-rw-r--r--ipaserver/install/certs.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/ipaserver/install/certs.py b/ipaserver/install/certs.py
index c4923a751..a1dffff24 100644
--- a/ipaserver/install/certs.py
+++ b/ipaserver/install/certs.py
@@ -26,6 +26,7 @@ import urllib
import xml.dom.minidom
import pwd
import fcntl
+import base64
from ipapython import nsslib
from ipapython import sysrestore
@@ -459,9 +460,20 @@ class CertDB(object):
(out, err) = self.request_cert(subject)
cdb.issue_server_cert(self.certreq_fname, self.certder_fname)
self.add_cert(self.certder_fname, nickname)
+ fd = open(self.certder_fname, "r")
+ dercert = fd.read()
+ fd.close()
+
os.unlink(self.certreq_fname)
os.unlink(self.certder_fname)
+ # On the off-chance the certificate is base64-encoded
+ try:
+ dercert = base64.b64decode(dercert)
+ except:
+ pass
+ return dercert
+
def create_signing_cert(self, nickname, hostname, other_certdb=None, subject=None):
cdb = other_certdb
if not cdb: