TRUST(1)
π NAME π
trust β the Tool for operating on the trust policy store β¨
(and just so we're clear, this is a User Commands page, section 1 of the manual, okay bestie? π«Ά)
π SYNOPSIS π
trust list
trust extract --filter=<what> --format=<type> /path/to/destination
trust anchor /path/to/certificate.crt
trust dump
trust check-format /path/to/file.p11-kit...
πΈ DESCRIPTION πΈ
okay so trust is a command line tool that lets you examine and modify the shared trust policy store. main character energy fr π
scroll down for the various sub commands. but first, the global options that work everywhere:
-v,--verboseβ Run in verbose mode with debug output. it's giving "tell me everything" π-q,--quietβ Run in quiet mode without warning or failure messages. shhh π€«
π LIST π
List trust policy store items. slay.
$ trust list
Lists info about all the various items in the trust policy store. Every item gets listed with it's PKCS#11 URI plus some descriptive information. no cap π
you can pass these options to control what gets listed:
--filter=<what>β Specifies what certificates to extract. here's what you can put in:ca-anchorsβ Certificate anchorstrust-policyβ Anchors and blocklist (default)blocklistβ Distrusted certificatescertificatesβ All certificatespkcs11:object=xxβ A PKCS#11 URI to filter with
If an output format is chosen that cannot support the type what has been specified by the filter, a message will be printed. π
also, none of the available formats support storage of blocklist entries that do not contain a full certificate. so any certificates distrusted by their issuer and serial number alone are not included in the extracted blocklist. periodt π
--purpose=<usage>β Limit to certificates usable for the given purpose. pick one of these:server-authβ For authenticating serversclient-authβ For authenticating clientsemailβ For email protectioncode-signingβ For authenticated signed code1.2.3.4.5...β An arbitrary purpose OID
β ANCHOR β
Store or remove trust anchors. iconic behaviour honestly π
$ trust anchor /path/to/certificate.crt
$ trust anchor --remove /path/to/certificate.crt
$ trust anchor --remove "pkcs11:id=%AA%BB%CC%DD%EE;type=cert"
Store or remove trust anchors in the trust policy store. these are usually root certificate authorities, bestie π³
specify either the --store or --remove operation. if you specify no operation at all, --store is assumed.
When storing, one or more certificate files are expected on the command line. they get stored as anchors, unless they are already present. (we don't do duplicates around here π )
When removing an anchor, either specify certificate files or PKCS#11 URI's on the command line. matching anchors will be removed.
It may be that this command needs to be run as root in order to modify the system trust policy store, if no user specific store is available. so like, if it's not working, that's probably why π
you can specify the following options:
--removeβ Remove one or more anchors from the trust policy store. Specify certificate files or PKCS#11 URI's on the command line.--storeβ Store one or more anchors to the trust policy store. Specify certificate files on the command line.
π¦ EXTRACT π¦
Extract trust policy from the shared trust policy store. let's get it out of there β¨
$ trust extract --format=x509-directory --filter=ca-anchors /path/to/directory
you can specify the following options to control what to extract. the --filter and --format arguments should be specified. and by default this command will not overwrite the destination file or directory. (protective, we love that π«Ά)
--commentβ Add identifying comments to PEM bundle output files before each certificate.--filter=<what>β Specifies what certificates to extract. your options are:ca-anchorsβ Certificate anchors (default)trust-policyβ Anchors and blocklistblocklistβ Distrusted certificatescertificatesβ All certificatespkcs11:object=xxβ A PKCS#11 URI
If an output format is chosen that cannot support the type what has been specified by the filter, a message will be printed. π
and again, none of the available formats support storage of blocklist entries that do not contain a full certificate. so any certificates distrusted by their issuer and serial number alone are not included in the extracted blocklist. iykyk π
--format=<type>β The format of the destination file or directory. pick one of these cuties:x509-fileβ DER X.509 certificate filex509-directoryβ directory of X.509 certificatespem-bundleβ File containing one or more certificate PEM blockspem-directoryβ Directory of PEM files each containing one certificatepem-directory-hashβ Directory of PEM files each containing one certificate, with hash symlinksopenssl-bundleβ OpenSSL specific PEM bundle of certificatesopenssl-directoryβ Directory of OpenSSL specific PEM filesjava-cacertsβ Java keystore 'cacerts' certificate bundle
--overwriteβ Overwrite output file or directory. (go ahead, be bold π )--purpose=<usage>β Limit to certificates usable for the given purpose. choose from:server-authβ For authenticating serversclient-authβ For authenticating clientsemailβ For email protectioncode-signingβ For authenticated signed code1.2.3.4.5...β An arbitrary purpose OID
π EXTRACT COMPAT π
Extract compatibility trust certificate bundles. the "make it work with the old girlies" command π§
$ trust extract-compat
so here's the thing: OpenSSL, Java and some versions of GnuTLS cannot currently read trust information directly from the trust policy store. this command extracts trust information such as certificate anchors for use by these libraries. bestie behaviour, honestly π
What this command does, and where it extracts the files, is distribution or site specific. Packagers or administrators are expected to customize this command.
π DUMP π
Dump PKCS#11 items in the various tokens. spill the tea, tokens β
$ trust dump
Dumps information about the various PKCS#11 items in the tokens. every item gets dumped with it's PKCS#11 URI and information in the .p11-kit persistence format.
you can specify the following options to control what to dump:
--filter=<what>β Specifies what certificates to extract. your choices:allβ All objects. This is the defaultpkcs11:object=xxβ A PKCS#11 URI to filter with
β CHECK FORMAT β
Check the format of .p11-kit files. vibe check but for files π―
$ trust check-format /path/to/file.p11-kit...
Administrators sometimes need to write a custom .p11-kit file to amend the trust information. this is an error prone process, because the file format is mainly for machine processing. so administrators can use this command to check whether a file has a correct .p11-kit format. you're welcome π
This command takes an arbitrary number of files as an input. Each file is then analysed and any mismatch with the .p11-kit format is reported on the standard error output. After the file is processed a check result is printed on the standard output. two streams, two jobs, we stan a multitasker β¨
π BUGS π
Please send bug reports to either the distribution bug tracker or the upstream bug tracker at https://github.com/p11-glue/p11-kit/issues/. don't be shy, they wanna hear it π
π SEE ALSO π
p11-kit(8)- An explanatory document about storing trust policy: https://p11-glue.github.io/p11-glue/doc/storing-trust-policy/
- Further details available in the p11-kit online documentation at https://p11-glue.github.io/p11-glue/p11-kit/manual/.
and that's the whole page, bestie!! this absolute icon of a manual page comes to you from p11-kit, and it's the TRUST(1) page. now go forth and trust responsibly π
πβ¨
π¦ where this page comes from
- arch rolling: p11-kit 0.26.5-1 Β· BSD-3-Clause
- fedora 43: p11-kit 0.26.5-1.fc43 Β· BSD-3-Clause
- fedora 43: p11-kit 0.26.5-1.fc43 Β· BSD-3-Clause
- fedora 44: p11-kit 0.26.5-1.fc44 Β· BSD-3-Clause
- fedora 44: p11-kit 0.26.5-1.fc44 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms