.RI [ item ...]
.br
.B sign
-.RB [ \-adt ]
+.RB [ \-adptC ]
.RB [ \-k
.IR tag ]
.RB [ \-f
.RI [ file ]
.br
.B verify
-.RB [ \-aquv ]
+.RB [ \-apquvC ]
.RB [ \-k
.IR tag ]
.RB [ \-f
.IR format ]
+.RB [ \-t
+.IR time ]
.br
-
+
.RB [ \-o
.IR output ]
.RI [ file
.RI [ file ]
.br
.B format
-.RB [ \-auABDET ]
+.RB [ \-apuABDET ]
.RB [ \-f
.IR format ]
.RB [ \-F
.IR format ]
.br
-
+
.RB [ \-m
.IR file ]
.RB [ \-o
.RI [ message ]]
.br
.B encode
+.RB [ \-p ]
.RB [ \-f
.IR format ]
.RB [ \-b
.RI [ file ]
.br
.B decode
+.RB [ \-p ]
.RB [ \-f
.IR format ]
.RB [ \-b
.B catsign
command deals with signing keys. (Note that
.B catsign
-uses signing keys in the same way as
+uses signing keys in the same way as
.BR catcrypt (1).)
.PP
A
.B rsapkcs1
This is almost the same as the RSASSA-PKCS1-v1_5 algorithm described in
RFC3447; the difference is that the hash is left bare rather than being
-wrapped in a DER-encoded
+wrapped in a DER-encoded
.B DigestInfo
structure. This doesn't affect security since the key can only be used
with the one hash function anyway, and dropping the DER wrapping permits
to generate the key.
.TP
.B dsa
-This is the DSA algorithm described in FIPS180-1 and FIPS180-2. Use the
+This is the DSA algorithm described in FIPS180-1 and FIPS180-2. Use the
.B dsa
algorithm of the
.B key add
command (see
.BR key (1))
to generate the key.
+.TP
+.B mac
+This uses a symmetric message-authentication algorithm rather than a
+digital signature. The precise message-authentication scheme used is
+determined by the
+.B mac
+attribute on the key, which defaults to
+.IB hash -hmac
+if unspecified. Use the
+.B binary
+algorithm of the
+.B key add
+command (see
+.BR key (1))
+to generate the key.
.PP
As well as the signature algorithm itself, a hash function is used.
This is taken from the
.BR sha .
.hP \*o
For
-.BR kcdsa
+.BR kcdsa
and
.BR eckcdsa ,
the default hash function is
attribute.
.TP
.B enc
-The encodings which can be applied to encrypted messages; see
+The encodings which can be applied to encrypted messages; see
.B ENCODINGS
above.
.SS sign
.I file
rather than to standard output.
.TP
+.BI "\-p, \-\-progress"
+Write a progress meter to standard error while processing large files.
+.TP
.B "\-t, \-\-text"
Read and sign the input as text. This is the default.
+.TP
+.B "\-C, \-\-nocheck"
+Don't check the private key for validity. This makes signing go much
+faster, but at the risk of using a duff key, and potentially leaking
+information about the private key.
.SS verify
The
.B verify
about the signature and the signed message.
.PP
The first non-option argument is the name of the file containing the
-signature data; this may be omitted or
+signature data; this may be omitted or
.RB ` \- '
to indicate that the signature be read from standard input. The second
non-option argument, if any, is the name of the file to read the message
Produce more verbose messages. See below for the messages produced
during decryption. The default verbosity level is 1. (Currently this
is the most verbose setting. This might not be the case always.)
+.TP
+.BI "\-p, \-\-progress"
+Write a progress meter to standard error while processing large files.
+.TP
.B "\-q, \-\-quiet"
Produce fewer messages.
.TP
signature header specifies the key named
.IR tag .
.TP
+.BI "\-t, \-\-freshtime " time
+Only accept signatures claiming to have been made more recently than
+.IR time .
+If
+.I time
+is
+.B always
+(the default) then any timestamp in the past is acceptable.
+.TP
.B "\-u, \-\-utc"
Show the datestamp in the signature in UTC rather than (your) local
time. The synonym
mode as appropriate. The default is to write the message to standard
output unless verifying a detached signature, in which case nothing is
written.
+.TP
+.B "\-C, \-\-nocheck"
+Don't check the public key for validity. This makes verification go
+much faster, but at the risk of using a duff key, and potentially
+accepting false signatures.
.PP
Output is written to standard output in a machine-readable format.
Major problems cause the program to write a diagnostic to standard error
.B Warning!
All output written has been checked for authenticity. However, output
can fail madway through for many reasons, and the resulting message may
-therefore be truncated. Don't rely on the output being complete until
-.B OK is printed or
+therefore be truncated. Don't rely on the output being complete until
+.B OK
+is printed or
.B catsign verify
exits successfully.
.SS info
Read input encoded according to
.IR format .
.TP
+.BI "\-p, \-\-progress"
+Write a progress meter to standard error while processing large files.
+.TP
.B "\-u, \-\-utc"
Show the datestamp in the signature in UTC rather than (your) local
time. The synonym
does not require any cryptographic operations.
.PP
The first non-option argument is the name of the file containing the
-signature data; this may be omitted or
+signature data; this may be omitted or
.RB ` \- '
to indicate that the signature be read from standard input. The second
non-option argument, if any, is the name of the file to read the message
The options follow a rough convention: options describing the input
format are lower-case and options specifying the output format are
upper-case. The following options are recognized.
-.TP "\-a, \-\-armour-in"
+.TP
+.BI "\-a, \-\-armour-in"
Read ASCII-armoured input. This is equivalent to specifying
.BR "\-f pem" .
The variant spelling
.B "\-\-armor"
is also accepted.
-.TP "\-A, \-\-armour-out"
+.TP
+.BI "\-p, \-\-progress"
+Write a progress meter to standard error while processing large files.
+.TP
+.BI "\-A, \-\-armour-out"
Produce ASCII-armoured output. This is equivalent to specifying
.BR "\-F pem" .
The variant spelling
command encodes an input file according to one of the encodings
described above in
.BR ENCODINGS .
-The input is read from the
+The input is read from the
.I file
given on the command line, or from standard input if none is specified.
Options provided are:
Produce output in
.IR format .
Run
-.B catcrypt show enc
+.B catsign show enc
for a list of encoding formats.
.TP
.BI "\-b, \-\-boundary " label
is
.BR MESSAGE .
.TP
+.BI "\-p, \-\-progress"
+Write a progress meter to standard error while processing large files.
+.TP
.BI "\-o, \-\-output " file
Write output to
.I file
command decodes an input file encoded according to one of the encodings
described above in
.BR ENCODINGS .
-The input is read from the
+The input is read from the
.I file
given on the command line, or from standard input if none is specified.
Options provided are:
Decode input in
.IR format .
Run
-.B catcrypt show enc
+.B catsign show enc
for a list of encoding formats.
.TP
.BI "\-b, \-\-boundary " label
i.e., assuming we're encoding in PEM format, start processing input
between
.BI "\-\-\-\-\-BEGIN " label "\-\-\-\-\-"
-and
+and
.BI "\-\-\-\-\-END " label "\-\-\-\-\-"
lines. Without this option,
-.B catcrypt
+.B catsign
will start reading at the first plausible boundary string, and continue
processing until it reaches the matching end boundary.
.TP
+.BI "\-p, \-\-progress"
+Write a progress meter to standard error while processing large files.
+.TP
.BI "\-o, \-\-output " file
Write output to
.I file
.BR hashsum (1),
.BR keyring (5).
.SH AUTHOR
-Mark Wooding, <mdw@nsict.org>
+Mark Wooding, <mdw@distorted.org.uk>