pgreco / rpms / ipa

Forked from forks/areguera/rpms/ipa 4 years ago
Clone
Blob Blame History Raw
From bb60e6d76d0dfa8106e195cc830b3ce685e84f77 Mon Sep 17 00:00:00 2001
From: "Endi S. Dewata" <edewata@redhat.com>
Date: Sat, 22 Aug 2015 01:14:16 +0200
Subject: [PATCH] Removed clear text passwords from KRA install log.

The ipa-kra-install tool has been modified to use password files
instead of clear text passwords when invoking pki tool such that
the passwords are no longer visible in ipaserver-kra-install.log.

https://fedorahosted.org/freeipa/ticket/5246

Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com>
---
 ipaplatform/base/paths.py        |  2 ++
 ipaserver/install/krainstance.py | 16 ++++++++--------
 2 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/ipaplatform/base/paths.py b/ipaplatform/base/paths.py
index 0dd3c7fda3020264a1ace8f2d13557cfddf18c2d..5c8f25d6ef85fab2b9b30a660cd1c0360dbe9931 100644
--- a/ipaplatform/base/paths.py
+++ b/ipaplatform/base/paths.py
@@ -343,6 +343,8 @@ class BasePathNamespace(object):
     SLAPD_INSTANCE_SOCKET_TEMPLATE = "/var/run/slapd-%s.socket"
     ALL_SLAPD_INSTANCE_SOCKETS = "/var/run/slapd-*.socket"
     ADMIN_CERT_PATH = '/root/.dogtag/pki-tomcat/ca_admin.cert'
+    KRA_NSSDB_PASSWORD_FILE = "/root/.dogtag/pki-tomcat/kra/password.conf"
+    KRA_PKCS12_PASSWORD_FILE = "/root/.dogtag/pki-tomcat/kra/pkcs12_password.conf"
     ENTROPY_AVAIL = '/proc/sys/kernel/random/entropy_avail'
     LDIF2DB = '/usr/sbin/ldif2db'
     DB2LDIF = '/usr/sbin/db2ldif'
diff --git a/ipaserver/install/krainstance.py b/ipaserver/install/krainstance.py
index fa50c3dec897d63b9d3522d196054163f7b3369a..e5cdbf5e7714603041e3f0156e87311994175b18 100644
--- a/ipaserver/install/krainstance.py
+++ b/ipaserver/install/krainstance.py
@@ -275,16 +275,16 @@ class KRAInstance(DogtagInstance):
         # import CA certificate into temporary security database
         args = ["/usr/bin/pki",
             "-d", self.agent_db,
-            "-c", self.admin_password,
+            "-C", paths.KRA_NSSDB_PASSWORD_FILE,
             "client-cert-import",
             "--pkcs12", paths.KRACERT_P12,
-            "--pkcs12-password", self.admin_password]
+            "--pkcs12-password-file", paths.KRA_PKCS12_PASSWORD_FILE]
         ipautil.run(args)
 
         # trust CA certificate
         args = ["/usr/bin/pki",
             "-d", self.agent_db,
-            "-c", self.admin_password,
+            "-C", paths.KRA_NSSDB_PASSWORD_FILE,
             "client-cert-mod", "Certificate Authority - %s" % api.env.realm,
             "--trust", "CT,c,"]
         ipautil.run(args)
@@ -292,16 +292,16 @@ class KRAInstance(DogtagInstance):
         # import Dogtag admin certificate into temporary security database
         args = ["/usr/bin/pki",
             "-d", self.agent_db,
-            "-c", self.admin_password,
+            "-C", paths.KRA_NSSDB_PASSWORD_FILE,
             "client-cert-import",
             "--pkcs12", paths.DOGTAG_ADMIN_P12,
-            "--pkcs12-password", self.admin_password]
+            "--pkcs12-password-file", paths.KRA_PKCS12_PASSWORD_FILE]
         ipautil.run(args)
 
         # as Dogtag admin, create ipakra user in KRA
         args = ["/usr/bin/pki",
             "-d", self.agent_db,
-            "-c", self.admin_password,
+            "-C", paths.KRA_NSSDB_PASSWORD_FILE,
             "-n", "ipa-ca-agent",
             "kra-user-add", "ipakra",
             "--fullName", "IPA KRA User"]
@@ -310,7 +310,7 @@ class KRAInstance(DogtagInstance):
         # as Dogtag admin, add ipakra into KRA agents group
         args = ["/usr/bin/pki",
             "-d", self.agent_db,
-            "-c", self.admin_password,
+            "-C", paths.KRA_NSSDB_PASSWORD_FILE,
             "-n", "ipa-ca-agent",
             "kra-user-membership-add", "ipakra", "Data Recovery Manager Agents"]
         ipautil.run(args)
@@ -330,7 +330,7 @@ class KRAInstance(DogtagInstance):
             # as Dogtag admin, upload and assign ipaCert to ipakra
             args = ["/usr/bin/pki",
                 "-d", self.agent_db,
-                "-c", self.admin_password,
+                "-C", paths.KRA_NSSDB_PASSWORD_FILE,
                 "-n", "ipa-ca-agent",
                 "kra-user-cert-add", "ipakra",
                 "--input", filename]
-- 
2.4.3