Description of problem:
this bug is related to
rhel6 ipa-client fails to retrieve right CA certificates, particularly when external CA installed
When installing a RHEL6 client, ipa-client-install is retrieving the certificate from ldap. In the case of RHEL6, the certificate is taken from:
dn = DN(('cn', 'CAcert'), ('cn', 'ipa'), ('cn', 'etc'), basedn)
it has happened that if the CA was expired and re-newed it (in the customer case was external CA), this entry is not updated and only the ones at "cn=certificates".
It could be interesting to replace the usercertificate in this entry so as the certificate retrieved in case of RHEL6 client will not show as expired one.
In the scenario where we have had this, the customer was using external CA. I don't have an exact reproducer but as we have seen that the CA cert in cn=cacert was still expired, we have agreed to report this new bug.
Version-Release number of selected component (if applicable): master 7.4 (latest) / client 6.9 (latest).
ipaConfigString needs to have compatCA set in order for cn=cacert to be updated. Can you see if that was set?
Ok, that's why it isn't being updated then.
It should be added by ipa-cacert-manage AFAICT.
Can you describe their environment more? Perhaps we can reproduce it here. Particularly, where did they renew the external CA and how did they update it in IPA?
Converting it to a doc bug.
I'm going to pull this back into dev for more investigation.
We used to store a single CA certificate in CN=CAcert entry but this was moved to the cn=certificates container to better support multiple certificates and chains.
The compat entry is for older clients.
ipa-cacert-manage install/renew should update CN=CAcert when a new CA is installed assuming that ipaConfigEntry in the cn=certificates CA entry has compatCA set.
In a typical install with an IPA CA the ipaConfigEntry for the CA is set to ipaCA and compatCA in ipaserver/install/dsinstance.py::__upload_ca_cert() in the call to
compatCA is removed (and I'm not sure why) later in the installation in ipaserver/install/plugins/upload_cacrt.py. It also changes the case of ipaCA to ipaCa for some reason (not a deal breaker).
*** Bug 1710235 has been marked as a duplicate of this bug. ***
The commit includes functional test in ipatests/test_integration/test_external_ca.py::TestSelfExternalSelf
Automation test passed in tier2 pipeline for idm-ci.
Hence marking the bug as verified.
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.