if len(res) == 0:
return result
for es in res:
- templates = {}
- for template in es['certificateTemplates']:
- templates[template] = fetch_template_attrs(ldb, template)
data = dict(es)
- data['certificateTemplates'] = templates
result.append(data)
return result
return out.strip().split()
return []
-def cert_enroll(ca, trust_dir, private_dir):
+def cert_enroll(ca, ldb, trust_dir, private_dir, auth='Kerberos'):
# Install the root certificate chain
data = {'files': [], 'templates': []}
sscep = which('sscep')
data = { 'Error': err.decode(), 'CA': ca['cn'][0] }
log.error('Failed to add Certificate Authority', data)
supported_templates = get_supported_templates(ca['dNSHostName'][0])
- for template, attrs in ca['certificateTemplates'].items():
- if template not in supported_templates:
- continue
+ for template in supported_templates:
+ attrs = fetch_template_attrs(ldb, template)
nickname = '%s.%s' % (ca['cn'][0], template.decode())
keyfile = os.path.join(private_dir, '%s.key' % nickname)
certfile = os.path.join(trust_dir, '%s.crt' % nickname)
lp=self.lp, credentials=self.creds)
cas = fetch_certification_authorities(ldb)
for ca in cas:
- data = cert_enroll(ca, trust_dir, private_dir)
+ data = cert_enroll(ca, ldb, trust_dir, private_dir)
self.gp_db.store(str(self),
base64.b64encode(ca['cn'][0]).decode(),
data)