On 11/08/2016 02:30 PM, Bruce Dubbs wrote:
Ken Moffat wrote:
On Tue, Nov 08, 2016 at 12:02:53PM -0600, DJ Lucas wrote:
On November 8, 2016 1:47:28 AM CST, Wayne Blaszczyk
<[email protected]> wrote:
Last I looked at this, comparing nss to firefox tarballs, it seemed to
me
at the time that firefox was more current, or maybe I was comparing to
what
was in the Mozilla repostitory. I cannot remember now, but for some
reason
I switched from nss to firefox.
Yes, they tend to go back and forth. I *believe* that this has been
the effective policy for the Mozilla products in the book since the
inclusion of standalone NSS (~2008 at best guess), but that needs to
be verified. Most recommended will be the release branch for
certdata.txt, with latest always being NSS tip.
http://hg.mozilla.org/projects/nss/raw-file/default/lib/ckfw/builtins/certdata.txt
Ultimately, the book needs some policy. The release branch has worked
for the CLI apps for a long time (and obviously FF, SM, and TB).
Maybe we could add some pointers to additional reading, in the book
or the wiki, for those who want (or need) to brave the latest and
greatest. Even the perl script included with curl could be utilized
to do a comparison. One could even go so far as to update the shared
nssdb with the modified trust from upstream, but that's a bit too
much for the book IMO. I'm not against making mention of it, along
with the "beyond the scope of the BLFS book" blurb.
--DJ
For my own current builds, I doubt that whatever happens will make
much difference - I always build LWP during my normal desktop
builds, and I've obviously only picked up recent certificate changes
from a completed system, so I don't need to get fresh certs in the
early stages of BLFS.
My one reservation is that at the moment I can look for updated
certificates several times a week, if I wish to. Usually I c heck
before updating firefox, but also if deprecation of a CA gets
mentioned anywhere. I'm not clear if I can still do that *easily*
if we move to using an nss (or firefox) release, or whether in
practice I'll have to wait for a new release of whichever package you
choose.
Example: I last updated my certs to 20161030. As of 60 seconds ago
the current version is 20161103 - and BOTH of those are newer than
the current nss and non-beta firefox.
I've stayed out of this discussion mostly because I don't want to
interfere with progress in allowing for local or java certs. For
regular certs used by a browser, I still prefer the method we had before
because of reasons Ken gives above. The certs on anduin are checked
daily from the hg.mozilla.org site. If upstream makes changes, a one
line header is added simulating a CVS header and then posted for users.
I do not want to discourage changes, but there are advantages and
disadvantages to different methods. The issue is which is best for the
book.
There seems to be some confusion about what we currently have.
Unfortunately, what we have now (and had previously) has no effect on
FF/SM/TB/Chromium (or anything else using NSS instead of OpenSSL). They
all use the built-ins in NSS's libnssckbi.so and their own local copy of
additional certificates unless told to use something else (ie: the
proposed shared nssdb in /etc/pki/nssdb). Which reminds me, the script I
posted yesterday is not a complete solution.
What I've proposed is that we use the NSS built-ins as the base
certificate store for BLFS (keep in mind that this is already what our
browsers have been using for the past 8 years or so), setup the shared
nssdb, and provide an _example_ of how to extend everything via
/etc/ssl/local (probably using the mk-ca-bundle.pl script included with
curl as an example).
When NSS is installed (or updated), if our script is installed, run it
to update everything in one shot. The Mozilla products and Evolution
need to be setup to take advantage of the shared nssdb, but WebKit/NSS
uses ~/.pki/nssdb by default (this includes Chromium and I *think* the
KDE browser as well, the Gnome browser uses OpenSSL currently). I'm not
sure if new profiles in the Moz products can be made to easily default
to ~/.pki/nssdb (without modifying NSS...see OpenSUSE solution below),
but I'm sure, given a little time, I can probably find something less
intrusive.
Further considerations for those of us going beyond the default store:
duplicates are not an issue for OpenSSL/GNUTLS - the hash will be the
same so it'll get overwritten in the cert directory, and duplicates in
the bundle I've seen before without issue (the first matching entry
wins). Unfortunately, the same is not true for NSS as it uses the
built-in certificates for more than just server certificate
verification, (the three additional fields in certutil list output), so
the extras in /etc/ssl/local should be limited to certs not already
included in libnssckbi.so, or we could update the shared db using the
CKA_TRUST* fields, or just blindly do -t C,C,C or equivalent (this seems
to be what the big distros do). It's, complicated to say the least. At
least for a browser or mail client, C,C,C should be safe (as long as the
source is C,?,?).
I'll take a stab at a write-up that explains all of this for possible
inclusion in the book, but I'd like to encourage others to look into it
as well. If my babbling above has done more harm than good, here are a
few links that exclude my incessantly long posts: :-)
Here is documentation for certutil:
https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/tools/NSS_Tools_certutil
The shared DB:
https://wiki.mozilla.org/NSS_Shared_DB
Configuring FF/SM/TB to use the shared DB:
https://wiki.mozilla.org/NSS_Shared_DB_Howto
or
http://blog.xelnor.net/firefox-systemcerts/
Here is the application overview, not particularly useful for BLFS, but
should help to explain what happens internally:
https://wiki.mozilla.org/NSS_Shared_DB_And_LINUX
OpenSUSE uses another module (which we *could* also add) to make
application configuration dead easy:
https://en.opensuse.org/SDB:Share_certificates_between_applications_or_whole_system
I think RedHat does something similar.
This was also interesting reading:
https://old-en.opensuse.org/SharedCertStore
--DJ
--
http://lists.linuxfromscratch.org/listinfo/blfs-dev
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page