Date: Wed, 01 Oct 2014 15:58:50 -0500 From: Bryan Drewery <bdrewery@FreeBSD.org> To: d@delphij.net, freebsd-security@FreeBSD.ORG, Jung-uk Kim <jkim@freebsd.org> Cc: Ben Laurie <benl@freebsd.org>, gecko@FreeBSD.org, Dirk Meyer <dinoex@FreeBSD.org>, re <re@freebsd.org>, FreeBSD Ports Management Team <portmgr@FreeBSD.org> Subject: Re: RFC: Proposal: Install a /etc/ssl/cert.pem by default? Message-ID: <542C6B0A.9060503@FreeBSD.org> In-Reply-To: <53B4B7FB.6070407@FreeBSD.org> References: <53B499B1.4090003@delphij.net> <53B4B7FB.6070407@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --lJroknRCnBAuOSrgOxbREAEs0rj95cVGK Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable On 7/2/2014 8:55 PM, Bryan Drewery wrote: > On 7/2/2014 6:45 PM, Xin Li wrote: >> Hi, >> >> Currently, FreeBSD does not install a default /etc/ssl/cert.pem >> because we do not maintain one ourselves. We do, however, provide a >> port, security/ca_root_nss, which have an option to install a symbolic= >> link as /etc/ssl/cert.pem -> /usr/local/share/certs/ca-root-nss.crt, >> which is not the default option. >> >> This become a problem when applications, e.g. fetch(8), have grown the= >> support of doing certificate validation. I think now it makes sense >> to have a default cert.pem installed with the base system. >> >> So my proposal would be: >> >> 1. Import a set of trusted root certificates, and install if >> MK_OPENSSL is yes, to /usr/share/misc/ca-root-freebsd.pem; >> >> 2. In src/etc/Makefile, automatically create a symbolic link if it's >> not already present in ${DESTDIR}/etc/ssl; >> >> 3. Teach mergemaster(8) and other similar applications to create the >> symbolic link on demand; >> >> 4. Change the install/deinstall behavior of security/ca_root_nss: >> ETCSYMLINK checked: If /etc/ssl/cert.pem exists, back it up on >> install then overwrite with new symlink, and restore on deinstall. >> ETCSYMLINK unchecked: If /etc/ssl/cert.pem do not pre-exist, >> install new a symlink; on deinstall, if >> /usr/share/misc/ca-root-freebsd.pem exists, replace the symlink with a= >> symlink to there, or remove if the file does not exist. >> >> Comments/objections? >> >> Cheers, >=20 > Please see r266291. >=20 > libfetch will now look in /usr/local/etc/ssl/ before /etc/ssl. >=20 > The next step was to have the port always install the symlink there. > It's fallen through the cracks though. >=20 > This only allows fixing applications that use libfetch though and not > other applications that expect a /etc/ssl/cert.pem like curl. This seems to have been dropped. We do need some sort of solution though.= I've found that curl already does the right thing and looking at the proper /usr/local location for the ca_root_nss bundle due to being configured in the curl port to do so. The remaining piece IMHO would be fixing base openssl to look for /usr/local/etc/ssl/cert.pem before /etc/ssl/cert.pem. The port currently looks in /usr/local/openssl by default and not /etc/ssl. Here is a patch for the port to check /usr/local/etc/ssl first: https://people.freebsd.org/~bdrewery/patches/port-openssl-local-cert-pem.= diff And a patch for base libcrypto to check /usr/local/etc/ssl first: https://people.freebsd.org/~bdrewery/patches/base-openssl-local-cert-pem.= diff These allow things like wget to work by default once ca_root_nss is installed with the /usr/local/etc/ssl/cert.pem symlink. As for installing a CA root bundle by default, we could just bootstrap it along with pkg from ca_root_nss. --=20 Regards, Bryan Drewery --lJroknRCnBAuOSrgOxbREAEs0rj95cVGK Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (MingW32) iQEcBAEBAgAGBQJULGsKAAoJEDXXcbtuRpfPxGkIALaY6B7kUyyfErgtWJdIiHJX U4AdHBhH15nbuA8tskDSIu+KA+8IH/PZR5rI7vB73yAxb2qOoCAPUva5H+qNT9Q/ iGG7qiQlWQLJbRGvoIzF5Qr+szsr4lKrSLTb4Ai8aSNlV2P2punH/Wd4oaTnsnBf koyeIrfQlAnBImVjeNS4UipvtvD5kuQKZ5Adj/q0VsJiYRYPH3pyRusrcfhFhWSb 73HRcJhvMzO5cKZS0N6C/o08/5fnTsYHquadex9otrBZs01KvqGN9hZSF47wLvpv WzwK9S/GKU4LSfIkF0ZsEVv/z4sWwJv/hfQtgPa3wxgcHCUxHTj4s1S8vI+X9T8= =xTEo -----END PGP SIGNATURE----- --lJroknRCnBAuOSrgOxbREAEs0rj95cVGK--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?542C6B0A.9060503>