source: postlfs/security/p11-kit.xml@ f8dd4ec

12.0 12.1 kea ken/TL2024 ken/tuningfonts lazarus lxqt plabs/newcss python3.11 rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18 xry111/xf86-video-removal
Last change on this file since f8dd4ec was b8a95d0d, checked in by Bruce Dubbs <bdubbs@…>, 15 months ago

Clarify p11-kit dependencies

  • Property mode set to 100644
File size: 8.7 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 p11-kit-download-http "https://github.com/p11-glue/p11-kit/releases/download/&p11-kit-version;/p11-kit-&p11-kit-version;.tar.xz">
8 <!ENTITY p11-kit-download-ftp " ">
9 <!ENTITY p11-kit-md5sum "67b2539bdca6b4bedaeecc12864d2796">
10 <!ENTITY p11-kit-size "820 KB">
11 <!ENTITY p11-kit-buildsize "44 MB (with tests)">
12 <!ENTITY p11-kit-time "0.5 SBU (with tests)">
13]>
14
15<sect1 id="p11-kit" xreflabel="p11-kit-&p11-kit-version;">
16 <?dbhtml filename="p11-kit.html"?>
17
18
19 <title>p11-kit-&p11-kit-version;</title>
20
21 <indexterm zone="p11-kit">
22 <primary sortas="a-p11-kit">p11-kit</primary>
23 </indexterm>
24
25 <sect2 role="package">
26 <title>Introduction to p11-kit</title>
27
28 <para>
29 The <application>p11-kit</application> package provides a way to load and
30 enumerate PKCS #11 (a Cryptographic Token Interface Standard) modules.
31 </para>
32
33 &lfs113_checked;
34
35 <bridgehead renderas="sect3">Package Information</bridgehead>
36 <itemizedlist spacing="compact">
37 <listitem>
38 <para>
39 Download (HTTP): <ulink url="&p11-kit-download-http;"/>
40 </para>
41 </listitem>
42 <listitem>
43 <para>
44 Download (FTP): <ulink url="&p11-kit-download-ftp;"/>
45 </para>
46 </listitem>
47 <listitem>
48 <para>
49 Download MD5 sum: &p11-kit-md5sum;
50 </para>
51 </listitem>
52 <listitem>
53 <para>
54 Download size: &p11-kit-size;
55 </para>
56 </listitem>
57 <listitem>
58 <para>
59 Estimated disk space required: &p11-kit-buildsize;
60 </para>
61 </listitem>
62 <listitem>
63 <para>
64 Estimated build time: &p11-kit-time;
65 </para>
66 </listitem>
67 </itemizedlist>
68
69 <bridgehead renderas="sect3">p11-kit Dependencies</bridgehead>
70
71 <!-- There is a check for libsystemd. It seems to install a systemd service
72 in /usr/lib/systemd/user.-->
73 <bridgehead renderas="sect4">Recommended</bridgehead>
74 <para role="recommended">
75 <xref linkend="libtasn1"/>
76 </para>
77
78 <bridgehead renderas="sect4">Recommended (runtime)</bridgehead>
79 <para role="recommended">
80 <xref role="runtime" linkend="make-ca"/>
81 </para>
82
83 <bridgehead renderas="sect4">Optional</bridgehead>
84 <para role="optional">
85 <xref linkend="gtk-doc"/>,
86 <xref linkend="libxslt"/>, and
87 <xref role="runtime" linkend="nss"/> (runtime)
88 </para>
89
90 <para condition="html" role="usernotes">User Notes:
91 <ulink url="&blfs-wiki;/p11-kit"/>
92 </para>
93 </sect2>
94
95 <sect2 role="installation">
96 <title>Installation of p11-kit</title>
97
98 <para>
99 Prepare the distribution specific anchor hook:
100 </para>
101
102<screen><userinput>sed '20,$ d' -i trust/trust-extract-compat &amp;&amp;
103cat &gt;&gt; trust/trust-extract-compat &lt;&lt; "EOF"
104<literal># Copy existing anchor modifications to /etc/ssl/local
105/usr/libexec/make-ca/copy-trust-modifications
106
107# Update trust stores
108/usr/sbin/make-ca -r</literal>
109EOF</userinput></screen>
110
111 <para>
112 Install <application>p11-kit</application> by running the following
113 commands:
114 </para>
115
116<screen><userinput>mkdir p11-build &amp;&amp;
117cd p11-build &amp;&amp;
118
119meson setup .. \
120 --prefix=/usr \
121 --buildtype=release \
122 -Dtrust_paths=/etc/pki/anchors &amp;&amp;
123ninja</userinput></screen>
124
125 <para>
126 To test the results, issue: <command>ninja test</command>.
127 </para>
128
129 <para>
130 Now, as the <systemitem class="username">root</systemitem> user:
131 </para>
132
133<screen role="root"><userinput>ninja install &amp;&amp;
134ln -sfv /usr/libexec/p11-kit/trust-extract-compat \
135 /usr/bin/update-ca-certificates</userinput></screen>
136
137 </sect2>
138
139 <sect2 role="commands">
140 <title>Command Explanations</title>
141
142 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
143 href="../../xincludes/meson-buildtype-release.xml"/>
144
145 <para>
146 <parameter>-Dtrust_paths=/etc/pki/anchors</parameter>: this switch
147 sets the location of trusted certificates used by libp11-kit.so.
148 </para>
149
150 <para>
151 <option>-Dhash_impl=freebl</option>: Use this switch if you want to
152 use the Freebl library from <application>NSS</application> for SHA1 and
153 MD5 hashing.
154 </para>
155
156 <para>
157 <option>-Dgtk_doc=true</option>: Use this switch if you have installed
158 <xref linkend="gtk-doc"/> and <xref linkend="libxslt"/> and wish to
159 rebuild the documentation and generate manual pages.
160 </para>
161
162 </sect2>
163
164 <sect2 role="configuration">
165 <title>Configuring p11-kit</title>
166
167 <para>
168 The <application>p11-kit</application> trust module
169 (<filename>/usr/lib/pkcs11/p11-kit-trust.so</filename>) can be used as a
170 drop-in replacement for <filename>/usr/lib/libnssckbi.so</filename> to
171 transparently make the system CAs available to
172 <application>NSS</application> aware applications, rather than the static
173 list provided by <filename>/usr/lib/libnssckbi.so</filename>. As the
174 <systemitem class="username">root</systemitem> user, execute the
175 following commands:
176 </para>
177
178<screen role="root"><userinput>ln -sfv ./pkcs11/p11-kit-trust.so /usr/lib/libnssckbi.so</userinput></screen>
179
180 </sect2>
181
182 <sect2 role="content">
183 <title>Contents</title>
184
185 <segmentedlist>
186 <segtitle>Installed Programs</segtitle>
187 <segtitle>Installed Libraries</segtitle>
188 <segtitle>Installed Directories</segtitle>
189
190 <seglistitem>
191 <seg>
192 p11-kit, trust, and update-ca-certificates
193 </seg>
194 <seg>
195 libp11-kit.so and p11-kit-proxy.so
196 </seg>
197 <seg>
198 /etc/pkcs11,
199 /usr/include/p11-kit-1,
200 /usr/lib/pkcs11,
201 /usr/libexec/p11-kit,
202 /usr/share/gtk-doc/html/p11-kit, and
203 /usr/share/p11-kit
204 </seg>
205 </seglistitem>
206 </segmentedlist>
207
208 <variablelist>
209 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
210 <?dbfo list-presentation="list"?>
211 <?dbhtml list-presentation="table"?>
212
213 <varlistentry id="p11-kit-prog">
214 <term><command>p11-kit</command></term>
215 <listitem>
216 <para>
217 is a command line tool that can be used to perform operations
218 on PKCS#11 modules configured on the system
219 </para>
220 <indexterm zone="p11-kit p11-kit-prog">
221 <primary sortas="b-p11-kit">p11-kit</primary>
222 </indexterm>
223 </listitem>
224 </varlistentry>
225
226 <varlistentry id="trust">
227 <term><command>trust</command></term>
228 <listitem>
229 <para>
230 is a command line tool to examine and modify the shared trust
231 policy store
232 </para>
233 <indexterm zone="p11-kit trust">
234 <primary sortas="b-trust">trust</primary>
235 </indexterm>
236 </listitem>
237 </varlistentry>
238
239 <varlistentry id="update-ca-certificates">
240 <term><command>update-ca-certificates</command></term>
241 <listitem>
242 <para>
243 is a command line tool to both extract local certificates from an
244 updated anchor store, and regenerate all anchors and certificate
245 stores on the system. This is done unconditionally on BLFS using
246 the <parameter>--force</parameter> and <parameter>--get</parameter>
247 flags to <command>make-ca</command> and should likely not be used
248 for automated updates
249 </para>
250 <indexterm zone="p11-kit update-ca-certificates">
251 <primary sortas="b-update-ca-certificates">update-ca-certificates</primary>
252 </indexterm>
253 </listitem>
254 </varlistentry>
255
256 <varlistentry id="libp11-kit">
257 <term><filename class="libraryfile">libp11-kit.so</filename></term>
258 <listitem>
259 <para>
260 contains functions used to coordinate initialization and
261 finalization of any PKCS#11 module
262 </para>
263 <indexterm zone="p11-kit libp11-kit">
264 <primary sortas="c-libp11-kit">libp11-kit.so</primary>
265 </indexterm>
266 </listitem>
267 </varlistentry>
268
269 <varlistentry id="p11-kit-proxy">
270 <term><filename class="libraryfile">p11-kit-proxy.so</filename></term>
271 <listitem>
272 <para>
273 is the PKCS#11 proxy module
274 </para>
275 <indexterm zone="p11-kit p11-kit-proxy">
276 <primary sortas="c-p11-kit-proxy">p11-kit-proxy.so</primary>
277 </indexterm>
278 </listitem>
279 </varlistentry>
280
281 </variablelist>
282
283 </sect2>
284
285</sect1>
Note: See TracBrowser for help on using the repository browser.