summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRob Crittenden <rcritten@redhat.com>2011-06-08 15:56:29 -0400
committerMartin Kosek <mkosek@redhat.com>2011-06-09 17:41:43 +0200
commita26fb5aacafa91bd67061cb85bc9f0c88b735604 (patch)
tree49dd35fdf2a341d8f882828e50990d94dfc53d9f
parent4ef8b58c26a2b7fde7d4f1ae98053f56ad2823b7 (diff)
downloadfreeipa-a26fb5aacafa91bd67061cb85bc9f0c88b735604.tar.gz
freeipa-a26fb5aacafa91bd67061cb85bc9f0c88b735604.tar.xz
freeipa-a26fb5aacafa91bd67061cb85bc9f0c88b735604.zip
Fix external CA installation
When re-creating the CADS instance it needs to be more fully-populated so we have enough information to create an SSL certificate and move the principal to a real entry. https://fedorahosted.org/freeipa/ticket/1245
-rwxr-xr-xinstall/tools/ipa-server-install4
-rw-r--r--ipaserver/install/cainstance.py9
2 files changed, 7 insertions, 6 deletions
diff --git a/install/tools/ipa-server-install b/install/tools/ipa-server-install
index 23e495e63..a62aa150a 100755
--- a/install/tools/ipa-server-install
+++ b/install/tools/ipa-server-install
@@ -766,7 +766,7 @@ def main():
# This can happen if someone passes external_ca_file without
# already having done the first stage of the CA install.
sys.exit('CA is not installed yet. To install with an external CA is a two-stage process.\nFirst run the installer with --external-ca.')
- cs = cainstance.CADSInstance(dm_password=dm_password)
+ cs = cainstance.CADSInstance(host_name, realm_name, domain_name, dm_password)
ca.configure_instance(host_name, dm_password, dm_password,
cert_file=options.external_cert_file,
cert_chain_file=options.external_ca_file,
@@ -811,7 +811,7 @@ def main():
cs.create_certdb()
cs.enable_ssl()
# Add the IPA service for storing the PKI-IPA server certificate.
- cs.add_simple_service('dogtagldap/%s@%s' % (host_name, realm_name))
+ cs.add_simple_service(cs.principal)
cs.add_cert_to_service()
# Create a kerberos instance
diff --git a/ipaserver/install/cainstance.py b/ipaserver/install/cainstance.py
index 5b88253df..30aa9f525 100644
--- a/ipaserver/install/cainstance.py
+++ b/ipaserver/install/cainstance.py
@@ -217,20 +217,22 @@ def get_outputList(data):
return outputdict
class CADSInstance(service.Service):
- def __init__(self, realm_name=None, domain_name=None, dm_password=None):
+ def __init__(self, host_name=None, realm_name=None, domain_name=None, dm_password=None):
service.Service.__init__(self, "pkids")
+ self.serverid = "PKI-IPA"
self.realm_name = realm_name
self.dm_password = dm_password
self.sub_dict = None
self.domain = domain_name
- self.serverid = None
- self.fqdn = None
+ self.fqdn = host_name
self.dercert = None
self.pkcs12_info = None
self.ds_port = None
self.master_host = None
self.nickname = 'Server-Cert'
self.subject_base = None
+ if host_name and realm_name:
+ self.principal = "dogtagldap/%s@%s" % (self.fqdn, self.realm_name)
if realm_name:
self.suffix = util.realm_to_suffix(self.realm_name)
self.__setup_sub_dict()
@@ -242,7 +244,6 @@ class CADSInstance(service.Service):
subject_base=None):
self.ds_port = ds_port
self.realm_name = realm_name.upper()
- self.serverid = "PKI-IPA"
self.suffix = util.realm_to_suffix(self.realm_name)
self.fqdn = host_name
self.dm_password = dm_password