aboutsummaryrefslogtreecommitdiff
path: root/man
AgeCommit message (Collapse)Author
2021-09-13Implement PKCS#11 opaque keys support through OpenSSL pkcs11 engineAleksander Adamowski
PKCS#11 API allows us to use opaque keys confined in hardware security modules (HSMs) and similar hardware tokens without direct access to the key material, providing logical separation of the keys from the cryptographic operations performed using them. This commit allows using the popular libp11 pkcs11 module for the OpenSSL library with `fsverity` so that direct access to a private key file isn't necessary to sign files. The user needs to supply the path to the engine shared library (typically the libp11 shared object file) and the PKCS#11 module library (a shared object file specific to the given hardware token). The user may also supply a token-specific key identifier. Test evidence with a hardware PKCS#11 token: $ echo test > dummy $ ./fsverity sign dummy dummy.sig \ --pkcs11-engine=/usr/lib64/engines-1.1/libpkcs11.so \ --pkcs11-module=/usr/local/lib64/pkcs11_module.so \ --cert=test-pkcs11-cert.pem && echo OK; Signed file 'dummy' (sha256:c497326752e21b3992b57f7eff159102d474a97d972dc2c2d99d23e0f5fbdb65) OK Test evidence for regression check (checking that regular file-based key signing still works): $ ./fsverity sign dummy dummy.sig --key=key.pem --cert=cert.pem && \ echo OK; Signed file 'dummy' (sha256:c497326752e21b3992b57f7eff159102d474a97d972dc2c2d99d23e0f5fbdb65) OK Signed-off-by: Aleksander Adamowski <olo@fb.com> [EB: Avoided overloading the --key option and keyfile field, clarified the documentation, removed logic from cmd_sign.c that libfsverity already handles, and many other improvements.] Link: https://lore.kernel.org/r/20210909212731.1151190-1-olo@fb.com Signed-off-by: Eric Biggers <ebiggers@google.com>
2021-06-14v1.4Eric Biggers
Signed-off-by: Eric Biggers <ebiggers@google.com>
2021-06-10Add man page for fsverityEric Biggers
Add a manual page for the fsverity utility, documenting all subcommands and options. The page is written in Markdown and is translated to groff using pandoc. It can be installed by 'make install-man'. Link: https://lore.kernel.org/r/20210610072056.35190-1-ebiggers@kernel.org Acked-by: Luca Boccassi <bluca@debian.org> Reviewed-by: Victor Hsieh <victorhsieh@google.com> Signed-off-by: Eric Biggers <ebiggers@google.com>