NBSVTOOL(1)

NBSVTOOL(1) | General Commands Manual | NBSVTOOL(1)

# NAME

nbsvtool — create and verify detached signatures of files

# SYNOPSIS

nbsvtool | [-v] [-a anchor-certificates] [-c certificate-chain] [-f certificate-file] [-k private-key-file] [-u required-key-usage] command args ...

# DESCRIPTION

nbsvtool is used to create and verify detached X509 signatures of files. Private keys and certificates are expected to be PEM encoded, signatures are in PEM/SMIME format.

Supported commands:

sign file
  Sign file, placing the signature in file.sp7. The options -f and -k are required for this command.
verify file [signature]
  Verify signature for file. If signature is not specified, file.sp7 is used.
verify-code file [signature]
  This is a short cut for verify with the option -u code.

Supported options:

-a anchor-certificates
  A file containing one or more (concatenated) keys that are considered trusted.
-c certificate-chain
  A file containing additional certificates that will be added to the signature when creating one. They will be used to fill missing links in the trust chain when verifying the signature.
-f certificate-file
  A file containing the certificate to use for signing. The certificate must match the key given by -k.
-k private-key-file
  A file containing the private key to use for signing.
-u required-key-usage
  Verify that the extended key-usage attribute in the signing certificate matches required-key-usage. Otherwise, the signature is rejected. key usage can be one of: “ssl-server”, “ssl-client”, “code”, or “smime”.
-v
  Print verbose information about the signing certificate.

# EXIT STATUS

The nbsvtool utility exits 0 on success, and >0 if an error occurs.

# EXAMPLES

Create signature file hello.sp7 for file hello. The private key is found in file key, the matching certificate is in cert, additional certificates from cert-chain are included in the created signature.

> `nbsvtool -k key -f cert -c cert-chain sign hello hello.sp7`

Verify that the signature hello.sp7 is valid for file hello and that the signing certificate allows code signing. Certificates in anchor-file are considered trusted, and there must be a certificate chain from one of those certificates to the signing certificate.

> `nbsvtool -a anchor-file verify-code hello hello.sp7`

# SEE ALSO

openssl_smime(1)

# CAVEATS

As there is currently no default trust anchor, you must explicilty specify one with -a, otherwise no verification can succeed.

March 11, 2009 | NetBSD 7.0