Cloned from upstream: https://pagure.io/freeipa/issue/6813
FreeIPA configured with CA on the master and no CA on the replica.
If I renew the IPA RA agent on the master, then try to renew the same on the replica, the operation fails on the replica:
Request ID '20170324090012':
ca-error: Error 7 connecting to http://replica.example.com:8080/ca/ee/ca/profileSubmit: Couldn't connect to server.
key pair storage: type=FILE,location='/var/lib/ipa/ra-agent.key'
issuer: CN=Certificate Authority,O=EXAMPLE.COM
subject: CN=IPA RA,O=EXAMPLE.COM
expires: 2019-03-14 08:53:32 UTC
key usage: digitalSignature,nonRepudiation,keyEncipherment,dataEncipherment
pre-save command: /usr/libexec/ipa/certmonger/renew_ra_cert_pre
post-save command: /usr/libexec/ipa/certmonger/renew_ra_cert
Note that the agent tries to contact Dogtag on the replica but Dogtag is only installed on the server. The agent should rather try to download the certificate from LDAP.
The issue happens because of a bug in /usr/libexec/certmonger/dogtag-ipa-ca-renew-agent-submit, where the code checks if the certificate is replicated in order to either request renewal or download the renewed cert:
return not get_nickname()
The code should do the opposite: ie a cert is replicated if get_nickname() returns a name.
e934da09d5e738c735f874931dd1b54d79b3150b dogtag-ipa-ca-renew-agent-submit: fix the is_replicated() function
8f738f1ea9f86a921e3dc0fd02e57419f3173ed9 dogtag-ipa-ca-renew-agent-submit: fix the is_replicated() function
Created attachment 1286066 [details]
verified on ipa-server-4.5.0-14.el7.x86_64
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.