We issue a server certificate into /etc/pki/nssdb when a client is enrolled. Use a more unique nickname of 'IPA Machine Certificate - <fqdn>' rather than Server-Cert.

rob
>From 6a65c39bd775f44c359667e77bbd240e8c3a6356 Mon Sep 17 00:00:00 2001
From: Rob Crittenden <[email protected]>
Date: Fri, 17 Sep 2010 16:32:35 -0400
Subject: [PATCH] Use a more specific name for the IPA server certificate we install.

This should avoid conflicts with any other certs that might be installed
there.

ticket 49
---
 ipa-client/ipa-install/ipa-client-install |   13 ++++++++-----
 1 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/ipa-client/ipa-install/ipa-client-install b/ipa-client/ipa-install/ipa-client-install
index cf002d3..5431909 100755
--- a/ipa-client/ipa-install/ipa-client-install
+++ b/ipa-client/ipa-install/ipa-client-install
@@ -23,6 +23,7 @@ try:
     import sys
 
     import os
+    import time
     import socket
     import logging
     import tempfile
@@ -46,6 +47,7 @@ error was:
 """ % sys.exc_value
     sys.exit(1)
 
+client_nss_nickname = 'IPA Machine Certificate - %s' % socket.getfqdn()
 
 def parse_options():
     parser = OptionParser(version=version.VERSION)
@@ -183,7 +185,7 @@ def uninstall(options):
             run(["/usr/bin/certutil", "-D", "-d", "/etc/pki/nssdb", "-n", "IPA CA"])
         except Exception, e:
             print "Failed to remove IPA CA from /etc/pki/nssdb: %s" % str(e)
-    if nickname_exists("Server-Cert"):
+    if nickname_exists(client_nss_nickname):
         # Always start certmonger. We can't untrack something if it isn't
         # running
         try:
@@ -191,13 +193,13 @@ def uninstall(options):
         except:
             pass
         try:
-            certmonger.stop_tracking('/etc/pki/nssdb', nickname='Server-Cert')
+            certmonger.stop_tracking('/etc/pki/nssdb', nickname=client_nss_nickname)
         except (CalledProcessError, RuntimeError), e:
             logging.error("certmonger failed to stop tracking certificate: %s" % str(e))
         try:
-            run(["/usr/bin/certutil", "-D", "-d", "/etc/pki/nssdb", "-n", "Server-Cert"])
+            run(["/usr/bin/certutil", "-D", "-d", "/etc/pki/nssdb", "-n", client_nss_nickname])
         except Exception, e:
-            print "Failed to remove Server-Cert from /etc/pki/nssdb: %s" % str(e)
+            print "Failed to remove %s from /etc/pki/nssdb: %s" % (client_nss_nickname, str(e))
 
     try:
         service('certmonger', 'stop')
@@ -452,7 +454,7 @@ def configure_certmonger(fstore, subject_base, cli_realm, options):
         subject = 'CN=%s,%s' % (socket.getfqdn(), subject_base)
         principal = 'host/%...@%s' % (socket.getfqdn(), cli_realm)
         try:
-            run(["ipa-getcert", "request", "-d", "/etc/pki/nssdb", "-n", "Server-Cert", "-N", subject, "-K", principal])
+            run(["ipa-getcert", "request", "-d", "/etc/pki/nssdb", "-n", client_nss_nickname, "-N", subject, "-K", principal])
         except:
             print "certmonger request for host certificate failed"
 
@@ -708,6 +710,7 @@ def main():
         cmd.append("--enablemkhomedir")
     run(cmd)
     print message
+    time.sleep(1)
 
     #Check nss_ldap is working properly
     if not options.on_master:
-- 
1.7.2.1

_______________________________________________
Freeipa-devel mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/freeipa-devel

Reply via email to