History log of /freebsd-11-stable/secure/caroot/
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
370509 04-Sep-2021 git2svn

caroot: cumulative cert update

This adds a note in all existing certs that they are explicitly trusted
for server auth, and also:

- Seven (7) added
- Nineteen (19) removed

(cherry picked from commit 446169e0b6f04b96960540784539c218f5a14c86)
(cherry picked from commit 3016c5c2bf68d8c6ebf303939f20092478e7a4ca)
(cherry picked from commit fac832b27105d926d9f8728d7147adb547b937d8)
(cherry picked from commit 76461921dac18b300489e326ba3df61d2809f364)

Git Hash: de140815c9a583e8eb702b39cd8f57ca81a05e3f
Git Author: kevans@FreeBSD.org


blacklisted/Camerfirma_Chambers_of_Commerce_Root.pem
blacklisted/Camerfirma_Global_Chambersign_Root.pem
blacklisted/Certum_Root_CA.pem
blacklisted/Chambers_of_Commerce_Root_-_2008.pem
blacklisted/D-TRUST_Root_CA_3_2013.pem
blacklisted/EC-ACC.pem
blacklisted/GeoTrust_Primary_Certification_Authority_-_G2.pem
blacklisted/Global_Chambersign_Root_-_2008.pem
blacklisted/OISTE_WISeKey_Global_Root_GA_CA.pem
blacklisted/QuoVadis_Root_CA.pem
blacklisted/Sonera_Class_2_Root_CA.pem
blacklisted/Staat_der_Nederlanden_Root_CA_-_G3.pem
blacklisted/SwissSign_Platinum_CA_-_G2.pem
blacklisted/Symantec_Class_1_Public_Primary_Certification_Authority_-_G6.pem
blacklisted/Symantec_Class_2_Public_Primary_Certification_Authority_-_G6.pem
blacklisted/Trustis_FPS_Root_CA.pem
blacklisted/VeriSign_Universal_Root_Certification_Authority.pem
blacklisted/Verisign_Class_1_Public_Primary_Certification_Authority_-_G3.pem
blacklisted/Verisign_Class_2_Public_Primary_Certification_Authority_-_G3.pem
trusted/ACCVRAIZ1.pem
trusted/AC_RAIZ_FNMT-RCM.pem
trusted/AC_RAIZ_FNMT-RCM_SERVIDORES_SEGUROS.pem
trusted/ANF_Secure_Server_Root_CA.pem
trusted/Actalis_Authentication_Root_CA.pem
trusted/AffirmTrust_Commercial.pem
trusted/AffirmTrust_Networking.pem
trusted/AffirmTrust_Premium.pem
trusted/AffirmTrust_Premium_ECC.pem
trusted/Amazon_Root_CA_1.pem
trusted/Amazon_Root_CA_2.pem
trusted/Amazon_Root_CA_3.pem
trusted/Amazon_Root_CA_4.pem
trusted/Atos_TrustedRoot_2011.pem
trusted/Autoridad_de_Certificacion_Firmaprofesional_CIF_A62634068.pem
trusted/Baltimore_CyberTrust_Root.pem
trusted/Buypass_Class_2_Root_CA.pem
trusted/Buypass_Class_3_Root_CA.pem
trusted/CA_Disig_Root_R2.pem
trusted/CFCA_EV_ROOT.pem
trusted/COMODO_Certification_Authority.pem
trusted/COMODO_ECC_Certification_Authority.pem
trusted/COMODO_RSA_Certification_Authority.pem
trusted/Camerfirma_Chambers_of_Commerce_Root.pem
trusted/Camerfirma_Global_Chambersign_Root.pem
trusted/Certigna.pem
trusted/Certigna_Root_CA.pem
trusted/Certum_EC-384_CA.pem
trusted/Certum_Root_CA.pem
trusted/Certum_Trusted_Network_CA.pem
trusted/Certum_Trusted_Network_CA_2.pem
trusted/Certum_Trusted_Root_CA.pem
trusted/Chambers_of_Commerce_Root_-_2008.pem
trusted/Comodo_AAA_Services_root.pem
trusted/Cybertrust_Global_Root.pem
trusted/D-TRUST_Root_CA_3_2013.pem
trusted/D-TRUST_Root_Class_3_CA_2_2009.pem
trusted/D-TRUST_Root_Class_3_CA_2_EV_2009.pem
trusted/DST_Root_CA_X3.pem
trusted/DigiCert_Assured_ID_Root_CA.pem
trusted/DigiCert_Assured_ID_Root_G2.pem
trusted/DigiCert_Assured_ID_Root_G3.pem
trusted/DigiCert_Global_Root_CA.pem
trusted/DigiCert_Global_Root_G2.pem
trusted/DigiCert_Global_Root_G3.pem
trusted/DigiCert_High_Assurance_EV_Root_CA.pem
trusted/DigiCert_Trusted_Root_G4.pem
trusted/E-Tugra_Certification_Authority.pem
trusted/EC-ACC.pem
trusted/Entrust_Root_Certification_Authority.pem
trusted/Entrust_Root_Certification_Authority_-_EC1.pem
trusted/Entrust_Root_Certification_Authority_-_G2.pem
trusted/Entrust_Root_Certification_Authority_-_G4.pem
trusted/Entrust_net_Premium_2048_Secure_Server_CA.pem
trusted/GDCA_TrustAUTH_R5_ROOT.pem
trusted/GLOBALTRUST_2020.pem
trusted/GTS_Root_R1.pem
trusted/GTS_Root_R2.pem
trusted/GTS_Root_R3.pem
trusted/GTS_Root_R4.pem
trusted/GeoTrust_Primary_Certification_Authority_-_G2.pem
trusted/GlobalSign_ECC_Root_CA_-_R4.pem
trusted/GlobalSign_ECC_Root_CA_-_R5.pem
trusted/GlobalSign_Root_CA.pem
trusted/GlobalSign_Root_CA_-_R2.pem
trusted/GlobalSign_Root_CA_-_R3.pem
trusted/GlobalSign_Root_CA_-_R6.pem
trusted/GlobalSign_Root_E46.pem
trusted/GlobalSign_Root_R46.pem
trusted/Global_Chambersign_Root_-_2008.pem
trusted/Go_Daddy_Class_2_CA.pem
trusted/Go_Daddy_Root_Certificate_Authority_-_G2.pem
trusted/Hellenic_Academic_and_Research_Institutions_ECC_RootCA_2015.pem
trusted/Hellenic_Academic_and_Research_Institutions_RootCA_2011.pem
trusted/Hellenic_Academic_and_Research_Institutions_RootCA_2015.pem
trusted/Hongkong_Post_Root_CA_1.pem
trusted/Hongkong_Post_Root_CA_3.pem
trusted/ISRG_Root_X1.pem
trusted/IdenTrust_Commercial_Root_CA_1.pem
trusted/IdenTrust_Public_Sector_Root_CA_1.pem
trusted/Izenpe_com.pem
trusted/Microsec_e-Szigno_Root_CA_2009.pem
trusted/Microsoft_ECC_Root_Certificate_Authority_2017.pem
trusted/Microsoft_RSA_Root_Certificate_Authority_2017.pem
trusted/NAVER_Global_Root_Certification_Authority.pem
trusted/NetLock_Arany__Class_Gold__F__tan__s__tv__ny.pem
trusted/Network_Solutions_Certificate_Authority.pem
trusted/OISTE_WISeKey_Global_Root_GA_CA.pem
trusted/OISTE_WISeKey_Global_Root_GB_CA.pem
trusted/OISTE_WISeKey_Global_Root_GC_CA.pem
trusted/QuoVadis_Root_CA.pem
trusted/QuoVadis_Root_CA_1_G3.pem
trusted/QuoVadis_Root_CA_2.pem
trusted/QuoVadis_Root_CA_2_G3.pem
trusted/QuoVadis_Root_CA_3.pem
trusted/QuoVadis_Root_CA_3_G3.pem
trusted/SSL_com_EV_Root_Certification_Authority_ECC.pem
trusted/SSL_com_EV_Root_Certification_Authority_RSA_R2.pem
trusted/SSL_com_Root_Certification_Authority_ECC.pem
trusted/SSL_com_Root_Certification_Authority_RSA.pem
trusted/SZAFIR_ROOT_CA2.pem
trusted/SecureSign_RootCA11.pem
trusted/SecureTrust_CA.pem
trusted/Secure_Global_CA.pem
trusted/Security_Communication_RootCA2.pem
trusted/Security_Communication_Root_CA.pem
trusted/Sonera_Class_2_Root_CA.pem
trusted/Staat_der_Nederlanden_EV_Root_CA.pem
trusted/Staat_der_Nederlanden_Root_CA_-_G3.pem
trusted/Starfield_Class_2_CA.pem
trusted/Starfield_Root_Certificate_Authority_-_G2.pem
trusted/Starfield_Services_Root_Certificate_Authority_-_G2.pem
trusted/SwissSign_Gold_CA_-_G2.pem
trusted/SwissSign_Platinum_CA_-_G2.pem
trusted/SwissSign_Silver_CA_-_G2.pem
trusted/Symantec_Class_1_Public_Primary_Certification_Authority_-_G6.pem
trusted/Symantec_Class_2_Public_Primary_Certification_Authority_-_G6.pem
trusted/T-TeleSec_GlobalRoot_Class_2.pem
trusted/T-TeleSec_GlobalRoot_Class_3.pem
trusted/TUBITAK_Kamu_SM_SSL_Kok_Sertifikasi_-_Surum_1.pem
trusted/TWCA_Global_Root_CA.pem
trusted/TWCA_Root_Certification_Authority.pem
trusted/TeliaSonera_Root_CA_v1.pem
trusted/TrustCor_ECA-1.pem
trusted/TrustCor_RootCert_CA-1.pem
trusted/TrustCor_RootCert_CA-2.pem
trusted/Trustis_FPS_Root_CA.pem
trusted/Trustwave_Global_Certification_Authority.pem
trusted/Trustwave_Global_ECC_P256_Certification_Authority.pem
trusted/Trustwave_Global_ECC_P384_Certification_Authority.pem
trusted/UCA_Extended_Validation_Root.pem
trusted/UCA_Global_G2_Root.pem
trusted/USERTrust_ECC_Certification_Authority.pem
trusted/USERTrust_RSA_Certification_Authority.pem
trusted/VeriSign_Universal_Root_Certification_Authority.pem
trusted/Verisign_Class_1_Public_Primary_Certification_Authority_-_G3.pem
trusted/Verisign_Class_2_Public_Primary_Certification_Authority_-_G3.pem
trusted/XRamp_Global_CA_Root.pem
trusted/certSIGN_ROOT_CA.pem
trusted/certSIGN_Root_CA_G2.pem
trusted/e-Szigno_Root_CA_2017.pem
trusted/ePKI_Root_Certification_Authority.pem
trusted/emSign_ECC_Root_CA_-_C3.pem
trusted/emSign_ECC_Root_CA_-_G3.pem
trusted/emSign_Root_CA_-_C1.pem
trusted/emSign_Root_CA_-_G1.pem
370508 04-Sep-2021 kevans

caroot: update CA bundle processor

Our current processor was identified as trusting cert not explicitly
marked for SERVER_AUTH, as well as certs that were tagged with
DISTRUST_AFTER.

Update the script to handle both scenarios. This patch was originally
authored by mandree@ for ports, and it was subsequently ported to base
caroot.

(cherry picked from commit c3510c941c0dddd09389915a9395e6f059088bab)

Git Hash: a12641eaecc3dab730b27149b7d48fb0a86d38c7
Git Author: kevans@FreeBSD.org

368678 15-Dec-2020 kevans

MFC r368555: caroot: update bundle

Summary:
- One (1) added
- Ten (10) removed

366124 24-Sep-2020 kevans

Unrevert r364793: revert r364792: caroot: switch to using echo+shell glob

This was reverted because the directory is empty and stable/11 FILES
infrastructure doesn't handle that very well. Neither directory is empty
anymore, so this is OBE.

365986 22-Sep-2020 kevans

MFC r365896: caroot: update base store

Count:
- Two (2) removed
- Three (3) added

365357 05-Sep-2020 kevans

MFC r365248: caroot: properly remove old distrusted roots

The proper procedure was not followed in r364943; all of these that were
deleted should have instead been moved over to the blacklist so that certctl
can DTRT.

Users must still `certctl rehash` after this, but this should generally be
done by one of mergemaster/etcupdate/freebsd-update/pkgbase already; note
that freebsd-update doesn't come into play for this particular update, as
these have not yet made it into a release.

Future work (after svn -> git) will likely change the script that updatecert
invokes to facilitate the process, rather than trusting that kevans or
whomever updates in the future will remember.

365233 02-Sep-2020 kevans

MFC r364943: carrot: update bundle

Stats:
- Seven (7) removed
- Four (4) added

364793 26-Aug-2020 kevans

Partial revert of r364792: caroot: switch to using echo+shell glob

On stable/11, I mistakenly only tested installation of trusted certs.
When the dir is empty, the glob remains unexpanded when it gets added to
FILES.

On stable/11 (but not 12 or head), this ends up being erroneous; it kind of
looks like the glob is being expanded to a single-word empty string rather
than leaving us with an empty FILES. Regardless, this isn't worth fixing on
stable/11, so back it out.

364792 26-Aug-2020 kevans

MFC r364600: caroot: switch to using echo+shell glob to enumerate certs

This solves an issue on stable/12 that causes certs to not get installed.
ls is apparently not in PATH during installworld, so TRUSTED_CERTS ends up
blank and nothing gets installed. We don't really require anything
ls-specific, though, so let's just simplify it.

360395 27-Apr-2020 kevans

MFC r353095, r355376: add root bundle

r353095:
caroot: commit initial bundle

Interested users can blacklist any/all of these with certctl(8), examples:

- mv /usr/share/certs/trusted/... /usr/share/certs/blacklisted/...; \
certctl rehash
- certctl blacklist /usr/share/certs/trusted/*; \
certctl rehash

Certs can be easily examined after installation with `certctl list`, and
certctl blacklist will accept the hashed filename as output by list or as
seen in /etc/ssl/certs

r355376:
caroot update to latest tip: one (1) addition, none (0) removed

Added:
- Entrust Root Certification Authority - G4

Relnotes: yes, please


trusted/ACCVRAIZ1.pem
trusted/AC_RAIZ_FNMT-RCM.pem
trusted/Actalis_Authentication_Root_CA.pem
trusted/AddTrust_External_Root.pem
trusted/AddTrust_Low-Value_Services_Root.pem
trusted/AffirmTrust_Commercial.pem
trusted/AffirmTrust_Networking.pem
trusted/AffirmTrust_Premium.pem
trusted/AffirmTrust_Premium_ECC.pem
trusted/Amazon_Root_CA_1.pem
trusted/Amazon_Root_CA_2.pem
trusted/Amazon_Root_CA_3.pem
trusted/Amazon_Root_CA_4.pem
trusted/Atos_TrustedRoot_2011.pem
trusted/Autoridad_de_Certificacion_Firmaprofesional_CIF_A62634068.pem
trusted/Baltimore_CyberTrust_Root.pem
trusted/Buypass_Class_2_Root_CA.pem
trusted/Buypass_Class_3_Root_CA.pem
trusted/CA_Disig_Root_R2.pem
trusted/CFCA_EV_ROOT.pem
trusted/COMODO_Certification_Authority.pem
trusted/COMODO_ECC_Certification_Authority.pem
trusted/COMODO_RSA_Certification_Authority.pem
trusted/Camerfirma_Chambers_of_Commerce_Root.pem
trusted/Camerfirma_Global_Chambersign_Root.pem
trusted/Certigna.pem
trusted/Certigna_Root_CA.pem
trusted/Certum_Root_CA.pem
trusted/Certum_Trusted_Network_CA.pem
trusted/Certum_Trusted_Network_CA_2.pem
trusted/Chambers_of_Commerce_Root_-_2008.pem
trusted/Comodo_AAA_Services_root.pem
trusted/Cybertrust_Global_Root.pem
trusted/D-TRUST_Root_CA_3_2013.pem
trusted/D-TRUST_Root_Class_3_CA_2_2009.pem
trusted/D-TRUST_Root_Class_3_CA_2_EV_2009.pem
trusted/DST_Root_CA_X3.pem
trusted/DigiCert_Assured_ID_Root_CA.pem
trusted/DigiCert_Assured_ID_Root_G2.pem
trusted/DigiCert_Assured_ID_Root_G3.pem
trusted/DigiCert_Global_Root_CA.pem
trusted/DigiCert_Global_Root_G2.pem
trusted/DigiCert_Global_Root_G3.pem
trusted/DigiCert_High_Assurance_EV_Root_CA.pem
trusted/DigiCert_Trusted_Root_G4.pem
trusted/E-Tugra_Certification_Authority.pem
trusted/EC-ACC.pem
trusted/EE_Certification_Centre_Root_CA.pem
trusted/Entrust_Root_Certification_Authority.pem
trusted/Entrust_Root_Certification_Authority_-_EC1.pem
trusted/Entrust_Root_Certification_Authority_-_G2.pem
trusted/Entrust_Root_Certification_Authority_-_G4.pem
trusted/Entrust_net_Premium_2048_Secure_Server_CA.pem
trusted/GDCA_TrustAUTH_R5_ROOT.pem
trusted/GTS_Root_R1.pem
trusted/GTS_Root_R2.pem
trusted/GTS_Root_R3.pem
trusted/GTS_Root_R4.pem
trusted/GeoTrust_Global_CA.pem
trusted/GeoTrust_Primary_Certification_Authority.pem
trusted/GeoTrust_Primary_Certification_Authority_-_G2.pem
trusted/GeoTrust_Primary_Certification_Authority_-_G3.pem
trusted/GeoTrust_Universal_CA.pem
trusted/GeoTrust_Universal_CA_2.pem
trusted/GlobalSign_ECC_Root_CA_-_R4.pem
trusted/GlobalSign_ECC_Root_CA_-_R5.pem
trusted/GlobalSign_Root_CA.pem
trusted/GlobalSign_Root_CA_-_R2.pem
trusted/GlobalSign_Root_CA_-_R3.pem
trusted/GlobalSign_Root_CA_-_R6.pem
trusted/Global_Chambersign_Root_-_2008.pem
trusted/Go_Daddy_Class_2_CA.pem
trusted/Go_Daddy_Root_Certificate_Authority_-_G2.pem
trusted/Hellenic_Academic_and_Research_Institutions_ECC_RootCA_2015.pem
trusted/Hellenic_Academic_and_Research_Institutions_RootCA_2011.pem
trusted/Hellenic_Academic_and_Research_Institutions_RootCA_2015.pem
trusted/Hongkong_Post_Root_CA_1.pem
trusted/Hongkong_Post_Root_CA_3.pem
trusted/ISRG_Root_X1.pem
trusted/IdenTrust_Commercial_Root_CA_1.pem
trusted/IdenTrust_Public_Sector_Root_CA_1.pem
trusted/Izenpe_com.pem
trusted/LuxTrust_Global_Root_2.pem
trusted/Microsec_e-Szigno_Root_CA_2009.pem
trusted/NetLock_Arany__Class_Gold__F__tan__s__tv__ny.pem
trusted/Network_Solutions_Certificate_Authority.pem
trusted/OISTE_WISeKey_Global_Root_GA_CA.pem
trusted/OISTE_WISeKey_Global_Root_GB_CA.pem
trusted/OISTE_WISeKey_Global_Root_GC_CA.pem
trusted/QuoVadis_Root_CA.pem
trusted/QuoVadis_Root_CA_1_G3.pem
trusted/QuoVadis_Root_CA_2.pem
trusted/QuoVadis_Root_CA_2_G3.pem
trusted/QuoVadis_Root_CA_3.pem
trusted/QuoVadis_Root_CA_3_G3.pem
trusted/SSL_com_EV_Root_Certification_Authority_ECC.pem
trusted/SSL_com_EV_Root_Certification_Authority_RSA_R2.pem
trusted/SSL_com_Root_Certification_Authority_ECC.pem
trusted/SSL_com_Root_Certification_Authority_RSA.pem
trusted/SZAFIR_ROOT_CA2.pem
trusted/SecureSign_RootCA11.pem
trusted/SecureTrust_CA.pem
trusted/Secure_Global_CA.pem
trusted/Security_Communication_RootCA2.pem
trusted/Security_Communication_Root_CA.pem
trusted/Sonera_Class_2_Root_CA.pem
trusted/Staat_der_Nederlanden_EV_Root_CA.pem
trusted/Staat_der_Nederlanden_Root_CA_-_G2.pem
trusted/Staat_der_Nederlanden_Root_CA_-_G3.pem
trusted/Starfield_Class_2_CA.pem
trusted/Starfield_Root_Certificate_Authority_-_G2.pem
trusted/Starfield_Services_Root_Certificate_Authority_-_G2.pem
trusted/SwissSign_Gold_CA_-_G2.pem
trusted/SwissSign_Platinum_CA_-_G2.pem
trusted/SwissSign_Silver_CA_-_G2.pem
trusted/Symantec_Class_1_Public_Primary_Certification_Authority_-_G4.pem
trusted/Symantec_Class_1_Public_Primary_Certification_Authority_-_G6.pem
trusted/Symantec_Class_2_Public_Primary_Certification_Authority_-_G4.pem
trusted/Symantec_Class_2_Public_Primary_Certification_Authority_-_G6.pem
trusted/T-TeleSec_GlobalRoot_Class_2.pem
trusted/T-TeleSec_GlobalRoot_Class_3.pem
trusted/TUBITAK_Kamu_SM_SSL_Kok_Sertifikasi_-_Surum_1.pem
trusted/TWCA_Global_Root_CA.pem
trusted/TWCA_Root_Certification_Authority.pem
trusted/Taiwan_GRCA.pem
trusted/TeliaSonera_Root_CA_v1.pem
trusted/TrustCor_ECA-1.pem
trusted/TrustCor_RootCert_CA-1.pem
trusted/TrustCor_RootCert_CA-2.pem
trusted/Trustis_FPS_Root_CA.pem
trusted/UCA_Extended_Validation_Root.pem
trusted/UCA_Global_G2_Root.pem
trusted/USERTrust_ECC_Certification_Authority.pem
trusted/USERTrust_RSA_Certification_Authority.pem
trusted/VeriSign_Class_3_Public_Primary_Certification_Authority_-_G4.pem
trusted/VeriSign_Class_3_Public_Primary_Certification_Authority_-_G5.pem
trusted/VeriSign_Universal_Root_Certification_Authority.pem
trusted/Verisign_Class_1_Public_Primary_Certification_Authority_-_G3.pem
trusted/Verisign_Class_2_Public_Primary_Certification_Authority_-_G3.pem
trusted/Verisign_Class_3_Public_Primary_Certification_Authority_-_G3.pem
trusted/XRamp_Global_CA_Root.pem
trusted/certSIGN_ROOT_CA.pem
trusted/ePKI_Root_Certification_Authority.pem
trusted/emSign_ECC_Root_CA_-_C3.pem
trusted/emSign_ECC_Root_CA_-_G3.pem
trusted/emSign_Root_CA_-_C1.pem
trusted/emSign_Root_CA_-_G1.pem
trusted/thawte_Primary_Root_CA.pem
trusted/thawte_Primary_Root_CA_-_G2.pem
trusted/thawte_Primary_Root_CA_-_G3.pem
357633 06-Feb-2020 kevans

MFC r357193: caroot: blacklisted: automatically pick up *.pem in the tree

This kind of automagica got picked up in trusted/ prior to the initial
commit, but never got applied over in blacklisted. Ideally no one will be
using blacklisted/ to store arbitrary certs that they don't intend to
blacklist, so we should just install anything that's in here rather than
force consumer to first copy cert into place and then modify the file
listing in the Makefile.

Wise man once say: "it is better to restrict too much, than not enough.
sometimes."

357192 28-Jan-2020 kevans

MFC r357084: caroot: use bsd.obj.mk, not bsd.prog.mk

This directory stages certdata into .OBJDIR and processes it, but does not
actually build a prog-shaped object; bsd.obj.mk provides the minimal support
that we actually need, an .OBJDIR and descent into subdirs. This is
admittedly the nittiest of nits.

357082 24-Jan-2020 kevans

MFC r352948-r352951, r353002, r353066, r353070: caroot infrastructure

Infrastructure only -- no plans in place currently to commit any certs to
these branches.

r352948:
[1/3] Initial infrastructure for SSL root bundle in base

This setup will add the trusted certificates from the Mozilla NSS bundle
to base.

This commit includes:
- CAROOT option to opt out of installation of certs
- mtree amendments for final destinations
- infrastructure to fetch/update certs, along with instructions

A follow-up commit will add a certctl(8) utility to give the user control
over trust specifics. Another follow-up commit will actually commit the
initial result of updatecerts.

This work was done primarily by allanjude@, with minor contributions by
myself.

r352949:
[2/3] Add certctl(8)

This is a simple utility to hash all trusted on the system into
/etc/ssl/certs. It also allows the user to blacklist certificates they do
not trust.

This work was done primarily by allanjude@, with minor contributions by
myself.

r352950:
[3/3] etcupdate and mergemaster support for certctl

This commit add support for certctl in mergemaster and etcupdate. Both will
either rehash or prompt for rehash as new certificates are
trusted/blacklisted.

This work was done primarily by allanjude@, with minor contributions by
myself.

r352951:
caroot: add @generated tags to extracted .pem

As is the current trend; while these files are manually curated, they are
still generated. If they end up in a review, it would be helpful to also
take the hint and hide them.

r353002:
Unbreak etcupdate(8) and mergemaster(8) after r352950

r352950 introduced improper case fall-through for shell scripts. Fix it with
a pipe.

r353066:
certctl(8): realpath the file before creating the symlink

Otherwise we end up creating broken relative symlinks in
/etc/ssl/blacklisted.

r353070:
certctl(8): let one blacklist based on hashed filenames

It seems reasonable to allow, for instance:

$ certctl list
# reviews output -- ah, yeah, I don't trust that one
$ certctl blacklist ce5e74ef.0
$ certctl rehash

We can unambiguously determine what cert "ce5e74ef.0" refers to, and we've
described it to them in `certctl list` output -- I see little sense in
forcing another level of filesystem inspection to determien what cert file
this physically corresponds to.

Relnotes: yes

352951 02-Oct-2019 kevans

caroot: add @generated tags to extracted .pem

As is the current trend; while these files are manually curated, they are
still generated. If they end up in a review, it would be helpful to also
take the hint and hide them.


352948 02-Oct-2019 kevans

[1/3] Initial infrastructure for SSL root bundle in base

This setup will add the trusted certificates from the Mozilla NSS bundle
to base.

This commit includes:
- CAROOT option to opt out of installation of certs
- mtree amendments for final destinations
- infrastructure to fetch/update certs, along with instructions

A follow-up commit will add a certctl(8) utility to give the user control
over trust specifics. Another follow-up commit will actually commit the
initial result of updatecerts.

This work was done primarily by allanjude@, with minor contributions by
myself.

No objection from: secteam
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D16856