[Freeipa-devel] [PATCHES] 319, 324-335 CA management and renewal fixes
Martin Kosek
mkosek at redhat.com
Tue Sep 30 08:09:08 UTC 2014
On 09/30/2014 09:59 AM, Jan Cholasta wrote:
> Dne 29.9.2014 v 18:09 Rob Crittenden napsal(a):
>> Jan Cholasta wrote:
>>> Dne 29.9.2014 v 15:05 Rob Crittenden napsal(a):
>>>> Jan Cholasta wrote:
>>>>> Dne 26.9.2014 v 17:13 Rob Crittenden napsal(a):
>>>>>> Jan Cholasta wrote:
>>>>>>> Dne 23.9.2014 v 20:39 Rob Crittenden napsal(a):
>>>>>>>> Jan Cholasta wrote:
>>>>>>>>> Hi,
>>>>>>>>>
>>>>>>>>> the attached patches fix various bugs and shortcomings in the CA
>>>>>>>>> management and renewal code. Related tickets:
>>>>>>>>> <https://fedorahosted.org/freeipa/ticket/4416>,
>>>>>>>>> <https://fedorahosted.org/freeipa/ticket/4460>.
>>>>>>>>>
>>>>>>>>> (Patch 319 was originally posted at
>>>>>>>>> <http://www.redhat.com/archives/freeipa-devel/2014-September/msg00132.html>.)
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>> Only two of the patches includes what ticket(s) they address. Most
>>>>>>>> have
>>>>>>>> the tersest of commit messages. If got more and more difficult to see
>>>>>>>> why the changes were needed at all, as you'll see.
>>>>>>>
>>>>>>> Sorry, fixed (hopefully).
>>>>>>>
>>>>>>> Note that most of these patches fix stuff I didn't have time to fix
>>>>>>> before I posted the original CA management patches, hence the missing
>>>>>>> tickets.
>>>>>>
>>>>>> Well, the policy is that every commit should have a ticket. So I guess
>>>>>> re-open the old tickets or open new ones. This will help someone in the
>>>>>> future know the "why" of a patch. I've certainly been guilty
>>>>>
>>>>> OK, I will reopen the related tickets.
>>>>>
>>>>>>
>>>>>> Here is a new set of reviews as trying to intermingle was making my
>>>>>> eyes
>>>>>> cross:
>>>>>>
>>>>>> 319:
>>>>>>
>>>>>> I guess I still don't understand why you can't pull the certs out of
>>>>>> LDAP when creating this database. When this code runs, we know that the
>>>>>> client is configured, so we have access to authentication. Why can't
>>>>>> create_ipa_nssdb pull the certs directly? It seems more robust to me,
>>>>>> and the code is already written in ipa-client-install to do this.
>>>>>
>>>>> Well, I don't understand why do you want them to be updated so much, as
>>>>> nothing will break if they are not. Also try to imagine what would
>>>>> happen if, say, 10k clients were updated at the same moment...
>>>>
>>>> What's the point of a database missing certificates?
>>>
>>> It won't be missing any certificates if /etc/pki/nssdb was not missing
>>> any certificates before the update.
>>>
>>> As I said, the update will not break anything. It will not fix anything
>>> either, but I don't think this kind of fixing should be done during
>>> client RPM upgrade. It is not consistent with anything else we do during
>>> client RPM upgrade, it does not scale well and it just does not feel
>>> right to me in overall.
>>
>> Ok, I'll concede the point that there is no difference post-update, but
>> it doesn't do what ipa-certupdate does. You can potentially end up with
>> a completely diffferent set of certificates. So why the difference?
>
> If you end up with a *completely* different set of certificates, it's because
> the admins screwed up, so it's theirs responsibility to fix it, not ours IMHO.
>
>>
>> Post install of new client bits:
>>
>> # certutil -L -d /etc/ipa/nssdb/
>>
>> IPA CA CT,C,C
>>
>> After running ipa-certupdate:
>>
>> # certutil -L -d /etc/ipa/nssdb/
>>
>> CN=Primary CA,O=example.com,C=US ,,
>> CN=Secondary CA,O=example.com,C=US ,,
>> GREYOAK.COM IPA CA CT,C,C
>>
>> Quite the difference.
>
> Not much of a difference when you realize that "IPA CA" and "GREYOAK.COM IPA
> CA" are the same certificate and the rest are there just for completeness.
>
>>
>> I'll ACK for now since this doesn't materially change anything and
>> shouldn't break any installs but it begs the question of why it is
>> acceptable now but not acceptable to make ipa-certupdate do the same.
>
> I have changed the NSS database used by the RPC code from /etc/pki/nssdb to
> /etc/ipa/nssdb. What the RPM update does is a necessary configuration update to
> keep RPC working. ipa-certupdate on the other hand fetches new policy from the
> server, which is quite a different thing IMO.
>
>>
>> So ACK for 319, 324-331, 340.
>
> Thanks!
>
>>
>>>
>>> The LDAP update happens in renew_ca_cert. Are there any relevant errors
>>> in /var/log/messages? Is there caRenewalMaster in ipaConfigString of the
>>> master entry of the master where you run ipa-cacert-manage renew?
>>
>> Sep 25 16:06:44 grindle renew_ca_cert: Traceback (most recent call last):
>> File "/usr/lib64/ipa/certmonger/renew_ca_cert", line 214, in <module>
>> main()
>> File "/usr/lib64/ipa/certmonger/renew_ca_cert", line 79, in main
>> ca = cainstance.CAInstance(host_name=api.env.host, ldapi=False)
>> File
>> "/usr/lib/python2.7/site-packages/ipaserver/install/cainstance.py", line
>> 357, in __init__
>> self.ra_agent_pwd = self.ra_agent_db + "/pwdfile.txt"
>> TypeError: unsupported operand type(s) for +: 'NoneType' and 'str'
>> Sep 25 16:06:44 grindle certmonger: Certificate named "caSigningCert
>> cert-pki-ca" in token "NSS Certificate DB" in database
>> "/etc/pki/pki-tomcat/alias" issued by CA and saved.
>
> One of the KRA patches broke this. I assumed you'd be testing on top of
> ipa-4-1, so I didn't fix it, sorry. See the attached patch 342 for a fix.
> Martin, can you please review it?
>
>>
>> rob
>>
>
> The patches needed a rebase, attached.
>
Thanks to both for this work! I pushed all patches that Rob reviewer to master
and ipa-4-1.
I also checked Jan's fix up patch 342 and it looks good to me as well.
ACK for that and pushed to master.
Martin
More information about the Freeipa-devel
mailing list