VFYCHAIN(1)
π VFYCHAIN(1) β the vfychain glow-up π
okay bestie, gather round, we're doing the NSS Security Tools manual page for vfychain and honestly? it's giving certificate-chain-verification main character energy. let's go π¦
β¨ NAME β¨
vfychain_ β as in:
vfychain [options] [revocation options] certfile [[options] certfile] ...
that's the whole vibe. certfile, options, more options, more certfiles. iconic. π
β¨ SYNOPSIS β¨
vfychain
yep. that's it. that's the synopsis. she's lowkey minimal, we respect it. π
πΈ STATUS πΈ
so real talk: this documentation is still work in progress, fr fr. the original asks you to please contribute to the initial review in Mozilla NSS bug 836477 (link's down in NOTES, don't worry, i gotchu π«Ά).
ngl bestie, "work in progress" is doing a LOT of heavy lifting here. but we move. π
β¨ DESCRIPTION β¨
okay so, the tea: vfychain is the verification tool, and what it does is verify certificate chains. that's the job. that's her whole thing. π
and then the page goes off on one (as it does) and tells you that modutil can:
- add and delete PKCS #11 modules
- change passwords on security databases
- set defaults
- list module contents
- enable or disable slots
- enable or disable FIPS 140-2 compliance
- assign default providers for cryptographic operations
and this tool can also create certificate, key, and module security database files. (yes bestie, this is literally what the page says under vfychain's DESCRIPTION. i'm just the messenger, no cap. π)
the tasks that come with security module database management are part of a process that typically also involves managing key databases and certificate databases. it's a whole ecosystem, it's a whole lifestyle. π
β¨ OPTIONS β¨
here's the lineup, one bullet per flag, no skipping, no cutting corners, we eat the whole menu: π
-aβ the following certfile is base64 encoded-bYYMMDDHHMMZ β validate date (default: now)-ddirectory β database directory-fβ enable cert fetching from AIA URL-ooid β set policy OID for cert validation (formatOID.1.2.3)-pβ use the PKIX Library to validate certificate by calling:CERT_VerifyCertificateif specified onceCERT_PKIXVerifyCertif specified twice and more
-rβ following certfile is raw binary DER (default)-tβ following cert is explicitly trusted (overrides db trust)-uusage β 0=SSL client, 1=SSL server, 2=SSL StepUp, 3=SSL CA, 4=Email signer, 5=Email recipient, 6=Object signer, 9=ProtectedObjectSigner, 10=OCSP responder, 11=Any CA-Tβ trust both explicit trust anchors (-t) and the database. (Without this option, the default is to only trust certificates marked-t, if there are any, or to trust the database if there are certificates marked-t.)-vβ verbose mode. Prints root cert subject (double the argument for whole root cert info)-wpassword β database password-Wpwfile β password file
ngl that-Tsentence is out here fighting for its life π it says the default is to only trust certs marked-tif there are any, or trust the database if there are certs marked-t. that's verbatim what the page says, bestie. i do not make the rules, i just keep every word of them. π
π₯ Revocation options π₯
revocation options for the PKIX API (invoked with the -pp options) is a collection of the following flags:
[-g type [-h flags] [-m type [-s flags]] ...] ...
where:
-gtest-type β sets status checking test type. Possible values are"leaf"or"chain"-gtest type β sets status checking test type. Possible values are"leaf"or"chain".-htest flags β sets revocation flags for the test type it follows. Possible flags:"testLocalInfoFirst"and"requireFreshInfo".-mmethod type β sets method type for the test type it follows. Possible types are"crl"and"ocsp".-smethod flags β sets revocation flags for the method it follows. Possible types are"doNotUse","forbidFetching","ignoreDefaultSrc","requireInfo"and"failIfNoInfo".
yes, -g shows up twice up there. that's the original's business, not mine, and i'm not about to ghost either of them. both stay. periodt. π
β¨
π ADDITIONAL RESOURCES π
want more NSS lore? for information about NSS and other tools related to NSS (like JSS), check out the NSS project wiki at:
http://www.mozilla.org/projects/security/pki/nss/
the NSS site relates directly to NSS code changes and releases. so like, if you're tracking releases, that's your spot. π
- Mailing lists:
https://lists.mozilla.org/listinfo/dev-tech-crypto - IRC: Freenode at
#dogtag-pki
π«Ά AUTHORS π«Ά
the NSS tools were written and maintained by developers with Netscape, Red Hat, Sun, Oracle, Mozilla, and Google. legends only, honestly. π
Authors: Elio Maldonado <emaldona@redhat.com>, Deon Lackey <dlackey@redhat.com>.
π LICENSE π
licensed under the Mozilla Public License, v. 2.0. if a copy of the MPL was not distributed with this file, you can obtain one at:
http://mozilla.org/MPL/2.0/
slay, legally. π
π NOTES π
- Mozilla NSS bug 836477
https://bugzilla.mozilla.org/show_bug.cgi?id=836477
okay that's the whole page, you ate it, i'm obsessed. π and for the cute sign-off: this little masterpiece is from nss-tools, dated 19 May 2021, and the manual page is VFYCHAIN(1). thank you for coming to my TED talk, bestie, go verify some chains π¦β¨
π¦ where this page comes from
- centos-stream 10: nss-tools 3.124.0-5.el10 Β· MPL-2.0
- centos-stream 9: nss-tools 3.124.0-5.el9 Β· MPLv2.0
- debian bookworm: libnss3-tools 2:3.87.1-1+deb12u2 Β· MPL-2.0
- debian bookworm: libnss3-tools 2:3.87.1-1+deb12u4 Β· MPL-2.0
- debian trixie: libnss3-tools 2:3.110-1+deb13u4 Β· MPL-2.0
- debian trixie: libnss3-tools 2:3.110-1+deb13u5 Β· MPL-2.0
- fedora 43: nss-tools 3.115.1-1.fc43 Β· MPL-2.0
- fedora 43: nss-tools 3.129.0-1.fc43
- fedora 43: nss-tools 3.131.0-1.fc43 Β· MPL-2.0
- fedora 44: nss-tools 3.122.1-1.fc44 Β· MPL-2.0
- fedora 44: nss-tools 3.130.0-1.fc44
- fedora 44: nss-tools 3.131.0-1.fc44 Β· MPL-2.0
- nixpkgs unstable: nss 3.132
- opensuse-leap 16.0: mozilla-nss-tools 3.125-160000.3.1 Β· MPL-2.0
- opensuse-leap 16.0: mozilla-nss-tools 3.125-160000.3.1 Β· MPL-2.0
- opensuse-leap 16.0: mozilla-nss-tools 3.125-160000.3.1 Β· MPL-2.0
- opensuse-leap 16.0: mozilla-nss-tools 3.125-160000.3.1 Β· MPL-2.0
- ubuntu jammy: libnss3-tools 2:3.68.2-0ubuntu1 Β· MPL-2.0
- ubuntu jammy: libnss3-tools 2:3.98-0ubuntu0.22.04.4
- ubuntu jammy: libnss3-tools 2:3.98-0ubuntu0.22.04.5 Β· MPL-2.0
- ubuntu noble: libnss3-tools 2:3.98-1build1 Β· MPL-2.0
- ubuntu noble: libnss3-tools 2:3.98-1ubuntu0.2
- ubuntu noble: libnss3-tools 2:3.98-1ubuntu0.3 Β· MPL-2.0
- ubuntu questing: libnss3-tools 2:3.114-1
- ubuntu questing: libnss3-tools 2:3.114-1ubuntu0.2
- ubuntu resolute: libnss3-tools 2:3.120-1ubuntu2 Β· MPL-2.0
- ubuntu resolute: libnss3-tools 2:3.120-1ubuntu2.1
- ubuntu resolute: libnss3-tools 2:3.120-1ubuntu2.2 Β· MPL-2.0
- ubuntu stonking: libnss3-tools 2:3.127-1 Β· MPL-2.0
- ubuntu stonking: libnss3-tools 2:3.127-1ubuntu0.1 Β· MPL-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms