.RI [ item ...]
.br
.B sign
-.RB [ \-adt ]
+.RB [ \-adtC ]
.RB [ \-k
.IR tag ]
.RB [ \-f
.RI [ file ]
.br
.B verify
-.RB [ \-aquv ]
+.RB [ \-aquvC ]
.RB [ \-k
.IR tag ]
.RB [ \-f
.RB [ \-t
.IR time ]
.br
-
+
.RB [ \-o
.IR output ]
.RI [ file
.RB [ \-F
.IR format ]
.br
-
+
.RB [ \-m
.IR file ]
.RB [ \-o
.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
.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
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
+therefore be truncated. Don't rely on the output being complete until
.B OK
is printed or
.B catsign verify
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
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:
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:
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 catsign