xref: /freebsd/usr.sbin/certctl/certctl.8 (revision 4b15965daa99044daf184221b7c283bf7f2d7e66)
1.\"
2.\" SPDX-License-Identifier: BSD-2-Clause
3.\"
4.\" Copyright 2018 Allan Jude <allanjude@freebsd.org>
5.\"
6.\" Redistribution and use in source and binary forms, with or without
7.\" modification, are permitted providing that the following conditions
8.\" are met:
9.\" 1. Redistributions of source code must retain the above copyright
10.\"    notice, this list of conditions and the following disclaimer.
11.\" 2. Redistributions in binary form must reproduce the above copyright
12.\"    notice, this list of conditions and the following disclaimer in the
13.\"    documentation and/or other materials provided with the distribution.
14.\"
15.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
16.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
19.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
23.\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
24.\" IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
25.\" POSSIBILITY OF SUCH DAMAGE.
26.\"
27.Dd July 17, 2025
28.Dt CERTCTL 8
29.Os
30.Sh NAME
31.Nm certctl
32.Nd "tool for managing trusted and untrusted TLS certificates"
33.Sh SYNOPSIS
34.Nm
35.Op Fl v
36.Ic list
37.Nm
38.Op Fl v
39.Ic untrusted
40.Nm
41.Op Fl cnUv
42.Op Fl D Ar destdir
43.Op Fl M Ar metalog
44.Ic rehash
45.Nm
46.Op Fl cnv
47.Ic untrust Ar file
48.Nm
49.Op Fl cnv
50.Ic trust Ar file
51.Sh DESCRIPTION
52The
53.Nm
54utility manages the list of TLS Certificate Authorities that are trusted by
55applications that use OpenSSL.
56.Pp
57Flags:
58.Bl -tag -width 4n
59.It Fl c
60Copy certificates instead of linking to them.
61.It Fl D Ar destdir
62Specify the DESTDIR (overriding values from the environment).
63.It Fl d Ar distbase
64Specify the DISTBASE (overriding values from the environment).
65.It Fl M Ar metalog
66Specify the path of the METALOG file (default: $DESTDIR/METALOG).
67.It Fl n
68No-Op mode, do not actually perform any actions.
69.It Fl v
70Be verbose, print details about actions before performing them.
71.It Fl U
72Unprivileged mode, do not change the ownership of created links.
73Do record the ownership in the METALOG file.
74.El
75.Pp
76Primary command functions:
77.Bl -tag -width untrusted
78.It Ic list
79List all currently trusted certificate authorities.
80.It Ic untrusted
81List all currently untrusted certificates.
82.It Ic rehash
83Rebuild the list of trusted certificate authorities by scanning all directories
84in
85.Ev TRUSTPATH
86and all untrusted certificates in
87.Ev UNTRUSTPATH .
88A symbolic link to each trusted certificate is placed in
89.Ev CERTDESTDIR
90and each untrusted certificate in
91.Ev UNTRUSTDESTDIR .
92.It Ic untrust
93Add the specified file to the untrusted list.
94.It Ic trust
95Remove the specified file from the untrusted list.
96.El
97.Sh ENVIRONMENT
98.Bl -tag -width UNTRUSTDESTDIR
99.It Ev DESTDIR
100Alternate destination directory to operate on.
101.It Ev DISTBASE
102Additional path component to include when operating on certificate directories.
103.It Ev LOCALBASE
104Location for local programs.
105Defaults to the value of the user.localbase sysctl which is usually
106.Pa /usr/local .
107.It Ev TRUSTPATH
108List of paths to search for trusted certificates.
109Default:
110.Pa <DESTDIR><DISTBASE>/usr/share/certs/trusted
111.Pa <DESTDIR><DISTBASE>/usr/local/share/certs
112.Pa <DESTDIR><DISTBASE><LOCALBASE>/etc/ssl/certs
113.It Ev UNTRUSTPATH
114List of paths to search for untrusted certificates.
115Default:
116.Pa <DESTDIR><DISTBASE>/usr/share/certs/untrusted
117.Pa <DESTDIR><DISTBASE><LOCALBASE>/etc/ssl/untrusted
118.Pa <DESTDIR><DISTBASE><LOCALBASE>/etc/ssl/blacklisted
119.It Ev CERTDESTDIR
120Destination directory for symbolic links to trusted certificates.
121Default:
122.Pa <DESTDIR><DISTBASE>/etc/ssl/certs
123.It Ev UNTRUSTDESTDIR
124Destination directory for symbolic links to untrusted certificates.
125Default:
126.Pa <DESTDIR><DISTBASE>/etc/ssl/untrusted
127.It Ev EXTENSIONS
128List of file extensions to read as certificate files.
129Default: *.pem *.crt *.cer *.crl *.0
130.El
131.Sh SEE ALSO
132.Xr openssl 1
133.Sh HISTORY
134.Nm
135first appeared in
136.Fx 12.2
137.Sh AUTHORS
138.An Allan Jude Aq Mt allanjude@freebsd.org
139