source: postlfs/security/cacerts.xml@ 83ff66ae

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 83ff66ae was 98f6d6f, checked in by DJ Lucas <dj@…>, 7 years ago

try three

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@18642 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 9.8 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY certhost "https://hg.mozilla.org/">
8 <!ENTITY certpath "/lib/ckfw/builtins/certdata.txt">
9 <!ENTITY ca-bundle-download "&sources-anduin-http;/other/certdata.txt">
10 <!ENTITY ca-bundle-size "1.6 MB">
11 <!ENTITY cacerts-buildsize "6.5 MB (with all runtime deps)">
12 <!ENTITY cacerts-time "0.2 SBU (with all runtime deps)">
13
14 <!ENTITY make-ca-download "&sources-anduin-http;/other/make-ca.sh-&make-ca-version;">
15 <!ENTITY make-ca-size "24 KB">
16 <!ENTITY make-ca-md5sum "b42fd97c173ef67a37fb05ed7587e0a8">
17]>
18
19<sect1 id="cacerts" xreflabel="Certificate Authority Certificates">
20 <?dbhtml filename="cacerts.html"?>
21
22 <sect1info>
23 <othername>$LastChangedBy$</othername>
24 <date>$Date$</date>
25 </sect1info>
26
27 <title>Certificate Authority Certificates</title>
28
29 <para>Public Key Infrastructure (PKI) is a method to validate the
30 authenticity of an otherwise unknown entity across untrusted networks. PKI
31 works by establishing a chain of trust, rather than trusting each individual
32 host or entity explicitly. In order for a certificate presented by a remote
33 entity to be trusted, that certificate must present a complete chain of
34 certificates that can be validated using the root certificate of a
35 Certificate Authority (CA) that is trusted by the local machine.</para>
36
37 <para>Establishing trust with a CA involves validating things like company
38 address, ownership, contact information, etc., and ensuring that the CA has
39 followed best practices, such as undergoing periodic security audits by
40 independent investigators and maintaining an always available certificate
41 revocation list. This is well outside the scope of BLFS (as it is for most
42 Linux distributions). The certificate store provided here is taken from the
43 Mozilla Foundation, who have established very strict inclusion policies
44 described
45 <ulink url="https://www.mozilla.org/en-US/about/governance/policies/security-group/certs/">here</ulink>.</para>
46
47 &lfs80_checked;
48
49 <indexterm zone="cacerts">
50 <primary sortas="a-cacerts">Certificate Authority Certificates</primary>
51 </indexterm>
52
53 <sect2 role="package">
54 <title>Introduction to Certificate Authorities</title>
55
56 <bridgehead renderas="sect3">Package Information</bridgehead>
57 <itemizedlist spacing="compact">
58 <listitem>
59 <para>Download (HTTP): <ulink url="&make-ca-download;"/></para>
60 </listitem>
61 <listitem>
62 <para>Download size: &make-ca-size;</para>
63 </listitem>
64 <listitem>
65 <para>Download MD5 Sum: &make-ca-md5sum;</para>
66 </listitem>
67 <listitem>
68 <para>Estimated disk space required: &cacerts-buildsize;</para>
69 </listitem>
70 <listitem>
71 <para>Estimated build time: &cacerts-time;</para>
72 </listitem>
73 </itemizedlist>
74
75
76 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
77 <itemizedlist spacing="compact">
78 <listitem>
79 <para>
80 CA Certificates
81 <ulink url="&ca-bundle-download;"/>
82 </para>
83 </listitem>
84 </itemizedlist>
85
86 <bridgehead renderas="sect3">Certificate Authority Certificates Dependencies</bridgehead>
87
88 <bridgehead renderas="sect4">Required</bridgehead>
89 <para role="required"><xref linkend="openssl"/></para>
90
91 <bridgehead renderas="sect4">Optional (runtime)</bridgehead>
92 <para role="optional">
93 <xref linkend="java"/> or <xref linkend="openjdk"/>,
94 <xref linkend="nss"/>, and
95 <xref linkend="p11-kit"/></para>
96
97 <para condition="html" role="usernotes">User Notes:
98 <ulink url='&blfs-wiki;/cacerts'/></para>
99 </sect2>
100
101 <sect2 role="installation">
102 <title>Installation of Certificate Authority Certificates</title>
103
104 <para>The <application>make-ca.sh</application> script will process the
105 certificates included in the <filename>certdata.txt</filename> file
106 for use in multiple certificate stores (if the associated applications are
107 present on the system). Additionally, any local certificates stored in
108 <filename>/etc/ssl/local</filename> will be imported to the certificate
109 stores. Certificates in this directory should be stored as PEM encoded
110 <application>OpenSSL</application> trusted certificates.</para>
111
112 <para>To create an <application>OpenSSL</application> trusted certificate
113 from a regular PEM encoded file, provided by a CA not included in Mozilla's
114 certificate distribution, you need to add trust arguments to the
115 <command>openssl</command> command, and create a new certificate. There are
116 three trust types that are recognised by the
117 <application>make-ca.sh</application> script, SSL/TLS, S/Mime, and code
118 signing. For example, to allow a certificate to be trusted for both
119 SSL/TLS and S/Mime, but explicitly rejected for code signing, you could use
120 the following commands to create a new trusted certificate that has those
121 trust attributes:</para>
122
123<screen><literal>openssl x509 -in MyRootCA.pem -text -fingerprint -setalias "My Root CA 1" \
124 -addtrust serverAuth -addtrust emailProtection -addreject codeSigning \
125 > MyRootCA-trusted.pem</literal></screen>
126
127 <para>If a trust argument is omitted, the certificate is neither trusted,
128 nor rejected. Clients that use <application>OpenSSL</application> or
129 <application>NSS</application> encountering this certificate will present
130 a warning to the user. Clients using <application>GnuTLS</application>
131 without <application>p11-kit</application> support are not aware of trusted
132 certificates. To include this CA into the ca-bundle.crt (used for
133 <application>GnuTLS</application>), it must have <envar>serverAuth</envar>
134 trust.</para>
135
136 <para>To install the various certificate stores, first install the
137 <application>make-ca.sh</application> script into the correct location.
138 As the <systemitem class="username">root</systemitem> user:</para>
139
140<screen role="root"><userinput>install -vm755 make-ca.sh-&make-ca-version; /usr/sbin/make-ca.sh</userinput></screen>
141
142 <para>As the <systemitem class="username">root</systemitem> user, make sure
143 that certdata.txt is in the current directory, and update the certificate
144 stores with the following command:</para>
145
146<screen role="root"><userinput>/usr/sbin/make-ca.sh</userinput></screen>
147
148 <para>You should periodically download a copy of
149 <filename>certdata.txt</filename> and run the
150 <application>make-ca.sh</application> script (as the
151 <systemitem class="username">root</systemitem> user), or as part of a
152 monthly <application>cron</application> job to ensure that you have the
153 latest available version of the certificates.</para>
154
155 <note>
156 <para>If running the script a second time with the same version of
157 <filename>certdata.txt</filename>, for instance, to add additional stores
158 as the requisite software is installed, add the <parameter>-f</parameter>
159 switch to the command line. If packaging, run <command>make-ca.sh
160 --help</command> to see all available command line options.</para>
161 </note>
162
163 <para>The <filename>certdata.txt</filename> file provided by BLFS is
164 obtained from the mozilla-release branch, and is modified to provide a
165 simple dated revision. This will be the correct version for most
166 systems. There are, however, several other variants of the file available
167 for use that might be preferred for one reason or another, including the
168 files shipped with Mozilla products in this book. RedHat and OpenSUSE,
169 for instance, use the version included in <xref linkend="nss"/>. Additional
170 upstream downloads are available at the links below.</para>
171
172 <itemizedlist spacing="compact">
173 <listitem>
174 <para>Mozilla Release (the version provided by BLFS):
175 <ulink url="&certhost;releases/mozilla-release/raw-file/default/security/nss&certpath;"/>
176 </para>
177 </listitem>
178 <listitem>
179 <para>NSS (this is the latest available version):
180 <ulink url="&certhost;projects/nss/raw-file/tip&certpath;"/>
181 </para>
182 </listitem>
183 <listitem>
184 <para>Mozilla Central:
185 <ulink url="&certhost;mozilla-central/raw-file/default/security/nss&certpath;"/>
186 </para>
187 </listitem>
188 <listitem>
189 <para>Mozilla Beta:
190 <ulink url="&certhost;releases/mozilla-beta/raw-file/default/security/nss&certpath;"/>
191 </para>
192 </listitem>
193 <listitem>
194 <para>Mozilla Aurora:
195 <ulink url="&certhost;releases/mozilla-aurora/raw-file/default/security/nss&certpath;"/>
196 </para>
197 </listitem>
198 </itemizedlist>
199
200 </sect2>
201
202 <sect2 role="content">
203 <title>Contents</title>
204
205 <segmentedlist>
206 <segtitle>Installed Programs</segtitle>
207 <segtitle>Installed Libraries</segtitle>
208 <segtitle>Installed Directories</segtitle>
209
210 <seglistitem>
211 <seg>make-ca.sh</seg>
212 <seg>None</seg>
213 <seg>/etc/ssl/{certs,java,local} and /etc/pki/{nssdb,anchors}</seg>
214 </seglistitem>
215 </segmentedlist>
216
217 <variablelist>
218 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
219 <?dbfo list-presentation="list"?>
220 <?dbhtml list-presentation="table"?>
221
222 <varlistentry id="make-ca">
223 <term><command>make-ca.sh</command></term>
224 <listitem>
225 <para>is a shell script that adapts a current version of
226 <filename>certdata.txt</filename>, and prepares it for use
227 as the system certificate store.</para>
228 <indexterm zone="cacerts make-ca">
229 <primary sortas="b-make-ca">make-ca</primary>
230 </indexterm>
231 </listitem>
232 </varlistentry>
233 </variablelist>
234
235 </sect2>
236</sect1>
Note: See TracBrowser for help on using the repository browser.