Hide Forgot
Description of problem: this bug is related to https://bugzilla.redhat.com/show_bug.cgi?id=1543335 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 certstore.put_ca_cert_nss() 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).
Upstream ticket: https://pagure.io/freeipa/issue/7928
*** Bug 1710235 has been marked as a duplicate of this bug. ***
Fixed upstream master: https://pagure.io/freeipa/c/9cd88587e45c4a588b4cbd9ce1eb31d4a0c711b0 https://pagure.io/freeipa/c/4804103315617bf1fab1db84a3ed4737418b4908
Fixed upstream ipa-4-7: https://pagure.io/freeipa/c/5d0ed95344115508e001cad9e87d60686ed4db23 https://pagure.io/freeipa/c/180cbdd67fdf03e6b23293e30148381dfd6b6abe Fixed upstream ipa-4-6: https://pagure.io/freeipa/c/c442b95db57a3f56f291de35e6f11767c1dbaf9f https://pagure.io/freeipa/c/c3e6abfe687dc3540adfde72d6a5225444b23ee1
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. https://access.redhat.com/errata/RHBA-2020:1083