CERTCTL(8)
π CERTCTL(8) π
okay bestie, welcome to certctl β the System Manager's Manual page that's about to become your new hyperfixation. it's a tool for managing trusted and untrusted TLS certificates, and yes, it's giving main character energy in the OpenSSL universe. π
β¨ NAME β¨
certctl β tool for managing trusted and untrusted TLS certificates
π¦ SYNOPSIS π¦
certctl [-lv] list
certctl [-lv] untrusted
certctl [-BnUv] [-D destdir] [-M metalog] rehash
certctl [-nv] untrust file ...
certctl [-nv] trust file ...
π DESCRIPTION π
so like, the certctl utility manages the list of TLS Certificate Authorities that are trusted by applications that use OpenSSL. that's the whole vibe. it curates the guest list for your TLS party and it does not let randoms in. πͺβ¨
The following options are available:
-Bβ do not generate a bundle. lowkey this one is only valid in conjunction with therehashcommand, so don't try it anywhere else, bestie.-Ddestdir β specify theDESTDIR(overriding values from the environment).-ddistbase β specify theDISTBASE(overriding values from the environment).-lβ when listing installed (trusted or untrusted) certificates, show the full path and distinguished name for each certificate. the way that it gives you all the details. π-Mmetalog β specify the path of theMETALOGfile (default:${DESTDIR}/METALOG). this option is only valid in conjunction with therehashcommand.-nβ dry-run mode. do not actually perform any actions except write the metalog. it's the "let's just see what would happen" era. π-vβ verbose mode. print detailed information about each action taken. she's chatty and we love that for her. π¬-Uβ unprivileged mode. do not attempt to set the ownership of created files. this option is only valid in conjunction with the-Moption and therehashcommand.
π Primary command functions π
listβ list all currently trusted certificates. the VIP list, basically.untrustedβ list all currently untrusted certificates. the blocked list. and honestly? iconic of them to keep track. πrehashβ rebuild the list of trusted certificates by scanning all directories inTRUSTPATHand all untrusted certificates inUNTRUSTPATH. a copy of each trusted certificate is placed inTRUSTDESTDIRand each untrusted certificate inUNTRUSTDESTDIR. in addition, a bundle containing the trusted certificates is placed inBUNDLE. this is the whole glow-up routine where everything gets sorted. π§untrustβ add the specified file to the untrusted list. note that the nextrehashwill remove it unless a copy of it is also placed somewhere in a directory included inUNTRUSTPATH. so like, it's not permanent unless you commit to it, bestie. β οΈtrustβ add the specified file to the trusted list, unless it is already untrusted. note that the nextrehashwill remove it unless a copy of it is also placed somewhere in a directory included inTRUSTPATH. same deal β therehashis the vibe check that decides who stays. π«Ά
π ENVIRONMENT π
DESTDIRβ absolute path to an alternate destination directory to operate on instead of the file system root, e.g. β/tmp/installβ.DISTBASEβ additional path component to include when operating on certificate directories. this must start with a slash, e.g. β/baseβ. yes, the slash is mandatory, don't come for me. πΈLOCALBASEβ location for local programs. defaults to the value of theuser.localbasesysctl which is usually/usr/local.TRUSTPATHβ list of paths to search for trusted certificates. default:${DESTDIR}${DISTBASE}/usr/share/certs/trusted${DESTDIR}${LOCALBASE}/share/certs/trusted${DESTDIR}${LOCALBASE}/share/certsUNTRUSTPATHβ list of paths to search for untrusted certificates. default:${DESTDIR}${DISTBASE}/usr/share/certs/untrusted${DESTDIR}${LOCALBASE}/share/certs/untrustedTRUSTDESTDIRβ destination directory for symbolic links to trusted certificates. default:${DESTDIR}${DISTBASE}/etc/ssl/certsUNTRUSTDESTDIRβ destination directory for symbolic links to untrusted certificates. default:${DESTDIR}${DISTBASE}/etc/ssl/untrustedBUNDLEβ file name of bundle to produce. default:${DESTDIR}${DISTBASE}/etc/ssl/cert.pem
π₯ SEE ALSO π₯
openssl(1) β go give her a read too, she's the blueprint. π
β HISTORY β
certctl first appeared in FreeBSD 12.2. a true era. β¨
πΈ AUTHORS πΈ
the original shell implementation was written by Allan Jude <allanjude@FreeBSD.org>. the current C implementation was written by Dag-Erling SmΓΈrgrav <des@FreeBSD.org>. legends, both of them, no cap. π
okay that's the whole page, bestie! and for the cute sign-off: this glorious little page lives under the Debian banner, dated April 24, 2026, and it's officially CERTCTL(8) β drink water, rehash your trust store, and stay unproblematic ππ
π¦ where this page comes from
- freebsd 15.1: base 15.1
- π the page's license: BSD-2-Clause
- Copyright 2018 Allan Jude <allanjude@freebsd.org>
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms