logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

minisign - A dead simple tool to sign files and verify signatures.

Author

       Frank Denis (github [at] pureftpd [dot] org)

                                                  January 2023                                       MINISIGN(1)

Description

Minisign is a dead simple tool to sign files and verify signatures.

       It  is  portable,  lightweight,  and  uses  the highly secure Ed25519 http://ed25519.cr.yp.to/ public-key
       signature system.

Examples

       Creating a key pair

       minisign -G

       The public key is printed and put into the minisign.pub file. The secret key is encrypted and saved as  a
       file named ~/.minisign/minisign.key.

       Signing files

       $ minisign -Sm myfile.txt $ minisign -Sm myfile.txt myfile2.txt *.c

       Or to include a comment in the signature, that will be verified and displayed when verifying the file:

       $ minisign -Sm myfile.txt -t 'This comment will be signed as well'

       The  secret key is loaded from ${MINISIGN_CONFIG_DIR}/minisign.key, ~/.minisign/minisign.key, or its path
       can be explicitly set with the -s<path> command-line switch.

       Verifying a file

       $ minisign -Vm myfile.txt -P <pubkey>

       or

       $ minisign -Vm myfile.txt -p signature.pub

       This requires the signature myfile.txt.minisig to be present in the same directory.

       The public key can either reside in a file (./minisign.pub by default) or be directly  specified  on  the
       command line.

Name

minisign - A dead simple tool to sign files and verify signatures.

Notes

       Signature  files  include  an  untrusted  comment  line that can be freely modified, even after signature
       creation.

       They also include a second comment line, that cannot be modified without the secret key.

       Trusted comments can be used to add instructions or application-specific metadata  (intended  file  name,
       timestamps, resource identifiers, version numbers to prevent downgrade attacks).

Options

       These options control the actions of minisign.

       -G     Generate a new key pair

       -C     Change/remove the password of a secret key

       -R     Recreate a public key file from a secret key file

       -S     Sign files

       -V     Verify that a signature is valid for a given file

       -H     Requires the input to be prehashed

       -l     Sign using the legacy format

       -m<file>
              File to sign/verify

       -o     Combined with -V, output the file content after verification

       -p<pubkey_file>
              Public key file (default: ./minisign.pub)

       -P<pubkey>
              Public key, as a base64 string

       -s<seckey_file>
              Secret key file (default: ~/.minisign/minisign.key)

       -W     Do not encrypt/decrypt the secret key with a password

       -x<sig_file>
              Signature file (default: <file>.minisig)

       -c<comment>
              Add a one-line untrusted comment

       -t<comment>
              Add a one-line trusted comment

       -q     Quiet mode, suppress output

       -Q     Pretty quiet mode, only print the trusted comment

       -f     Force. Combined with -G, overwrite a previous key pair

       -v     Display version number

Synopsis

minisign -G [-p pubkey_file] [-s seckey_file] [-W]

       minisign -R [-s seckey_file] [-p pubkey_file]

       minisign -C [-s seckey_file] [-W]

       minisign -S [-H] [-x sig_file] [-s seckey_file] [-c untrusted_comment] [-t trusted_comment] -m file [file
       ...]

       minisign -V [-x sig_file] [-p pubkey_file | -P pubkey] [-o] [-q] -m file

See Also