1SIGNIFY(1)                BSD General Commands Manual               SIGNIFY(1)
2

NAME

4     signify — cryptographically sign and verify files
5

SYNOPSIS

7     signify -C [-q] [-p pubkey] [-t keytype] -x sigfile [file ...]
8     signify -G [-n] [-c comment] -p pubkey -s seckey
9     signify -S [-enz] [-x sigfile] -s seckey -m message
10     signify -V [-eqz] [-p pubkey] [-t keytype] [-x sigfile] -m message
11

DESCRIPTION

13     The signify utility creates and verifies cryptographic signatures.  A
14     signature verifies the integrity of a message.  The mode of operation is
15     selected with the following options:
16
17     -C          Verify a signed checksum list, and then verify the checksum
18                 for each file.  If no files are specified, all of them are
19                 checked.  sigfile should be the signed output of sha256(1).
20
21     -G          Generate a new key pair.  Keynames should follow the conven‐
22                 tion of keyname.pub and keyname.sec for the public and secret
23                 keys, respectively.
24
25     -S          Sign the specified message file and create a signature.
26
27     -V          Verify the message and signature match.
28
29     The other options are as follows:
30
31     -c comment    Specify the comment to be added during key generation.
32
33     -e            When signing, embed the message after the signature.  When
34                   verifying, extract the message from the signature.  (This
35                   requires that the signature was created using -e and cre‐
36                   ates a new message file as output.)
37
38     -m message    When signing, the file containing the message to sign.
39                   When verifying, the file containing the message to verify.
40                   When verifying with -e, the file to create.
41
42     -n            When generating a key pair, do not ask for a passphrase.
43                   Otherwise, signify will prompt the user for a passphrase to
44                   protect the secret key.  When signing with -z, store a zero
45                   time stamp in the gzip(1) header.
46
47     -p pubkey     Public key produced by -G, and used by -V to check a signa‐
48                   ture.
49
50     -q            Quiet mode.  Suppress informational output.
51
52     -s seckey     Secret (private) key produced by -G, and used by -S to sign
53                   a message.
54
55     -t keytype    When deducing the correct key to check a signature, make
56                   sure the actual key matches /etc/signify/*-keytype.pub.
57
58     -x sigfile    The signature file to create or verify.  The default is
59                   message.sig.
60
61     -z            Sign and verify gzip(1) archives, where the signing data is
62                   embedded in the gzip(1) header.
63
64     The key and signature files created by signify have the same format.  The
65     first line of the file is a free form text comment that may be edited, so
66     long as it does not exceed a single line.  Signature comments will be
67     generated based on the name of the secret key used for signing.  This
68     comment can then be used as a hint for the name of the public key when
69     verifying.  The second line of the file is the actual key or signature
70     base64 encoded.
71

EXIT STATUS

73     The signify utility exits 0 on success, and >0 if an error occurs.  It
74     may fail because of one of the following reasons:
75
76     Some necessary files do not exist.
77     Entered passphrase is incorrect.
78     The message file was corrupted and its signature does not match.
79     The message file is too large.
80

EXAMPLES

82     Create a new key pair:
83           $ signify -G -p newkey.pub -s newkey.sec
84
85     Sign a file, specifying a signature name:
86           $ signify -S -s key.sec -m message.txt -x msg.sig
87
88     Verify a signature, using the default signature name:
89           $ signify -V -p key.pub -m generalsorders.txt
90
91     Verify a release directory containing SHA256.sig and a full set of re‐
92     lease files:
93           $ signify -C -p /etc/signify/openbsd-69-base.pub -x SHA256.sig
94
95     Verify a bsd.rd before an upgrade:
96           $ signify -C -p /etc/signify/openbsd-69-base.pub -x SHA256.sig bsd.rd
97
98     Sign a gzip archive:
99           $ signify -Sz -s key-arc.sec -m in.tgz -x out.tgz
100
101     Verify a gzip pipeline:
102           $ ftp url | signify -Vz -t arc | tar ztf -
103

SEE ALSO

105     fw_update(1), gzip(1), pkg_add(1), sha256(1), sysupgrade(8)
106

HISTORY

108     The signify command first appeared in OpenBSD 5.5.
109

AUTHORS

111     Ted Unangst <tedu@openbsd.org> and Marc Espie <espie@openbsd.org>.
112
113BSD                             August 31, 2020                            BSD
Impressum