cainstance: add profile to IPA RA tracking request

Profile-based renewal means we should always explicitly specify the
profile in tracking requests that use the dogtag-ipa-ca-renew-agent
renewal helper.  This includes the IPA RA agent certificate.  Update
CAInstance.configure_agent_renewal() to add the profile to the
tracking request.  This also covers the upgrade scenario (because
the same method gets invoked).

Part of: https://pagure.io/freeipa/issue/7991

Reviewed-By: Rob Crittenden <rcritten@redhat.com>
This commit is contained in:
Fraser Tweedale committed 2019-07-22 13:33:24 +10:00
1 parent fa5675582c
commit 1bf008a64f
3 files changed
+4

No files matched your search

+1
View File
@@ -306,6 +306,7 @@ IPA_CA_RECORD = "ipa-ca"
IPA_CA_NICKNAME = 'caSigningCert cert-pki-ca'
RENEWAL_CA_NAME = 'dogtag-ipa-ca-renew-agent'
RENEWAL_REUSE_CA_NAME = 'dogtag-ipa-ca-renew-agent-reuse'
RA_AGENT_PROFILE = 'caServerCert'
# How long dbus clients should wait for CA certificate RPCs [seconds]
CA_DBUS_TIMEOUT = 120
+1
View File
@@ -1047,6 +1047,7 @@ class CAInstance(DogtagInstance):
certmonger.start_tracking(
certpath=(paths.RA_AGENT_PEM, paths.RA_AGENT_KEY),
ca='dogtag-ipa-ca-renew-agent',
profile=ipalib.constants.RA_AGENT_PROFILE,
pre_command='renew_ra_cert_pre',
post_command='renew_ra_cert',
storage='FILE')
+2
View File
@@ -21,6 +21,7 @@ from augeas import Augeas
import dns.exception
from ipalib import api, x509
from ipalib.constants import RA_AGENT_PROFILE
from ipalib.install import certmonger, sysrestore
import SSSDConfig
import ipalib.util
@@ -996,6 +997,7 @@ def certificate_renewal_update(ca, kra, ds, http):
'cert-file': paths.RA_AGENT_PEM,
'key-file': paths.RA_AGENT_KEY,
'ca-name': 'dogtag-ipa-ca-renew-agent',
'template-profile': RA_AGENT_PROFILE,
'cert-presave-command': template % 'renew_ra_cert_pre',
'cert-postsave-command': template % 'renew_ra_cert',
},