2000-01-28 03:31:26 +08:00
|
|
|
=pod
|
|
|
|
|
|
|
|
=head1 NAME
|
|
|
|
|
2000-02-24 19:55:57 +08:00
|
|
|
DSA_do_sign, DSA_do_verify - raw DSA signature operations
|
2000-01-28 03:31:26 +08:00
|
|
|
|
|
|
|
=head1 SYNOPSIS
|
|
|
|
|
|
|
|
#include <openssl/dsa.h>
|
|
|
|
|
|
|
|
DSA_SIG *DSA_do_sign(const unsigned char *dgst, int dlen, DSA *dsa);
|
|
|
|
|
|
|
|
int DSA_do_verify(const unsigned char *dgst, int dgst_len,
|
|
|
|
DSA_SIG *sig, DSA *dsa);
|
|
|
|
|
|
|
|
=head1 DESCRIPTION
|
|
|
|
|
|
|
|
DSA_do_sign() computes a digital signature on the B<len> byte message
|
|
|
|
digest B<dgst> using the private key B<dsa> and returns it in a
|
|
|
|
newly allocated B<DSA_SIG> structure.
|
|
|
|
|
2015-08-18 03:21:33 +08:00
|
|
|
L<DSA_sign_setup(3)> may be used to precompute part
|
2000-01-28 03:31:26 +08:00
|
|
|
of the signing operation in case signature generation is
|
|
|
|
time-critical.
|
|
|
|
|
|
|
|
DSA_do_verify() verifies that the signature B<sig> matches a given
|
|
|
|
message digest B<dgst> of size B<len>. B<dsa> is the signer's public
|
|
|
|
key.
|
|
|
|
|
|
|
|
=head1 RETURN VALUES
|
|
|
|
|
|
|
|
DSA_do_sign() returns the signature, NULL on error. DSA_do_verify()
|
|
|
|
returns 1 for a valid signature, 0 for an incorrect signature and -1
|
|
|
|
on error. The error codes can be obtained by
|
2015-08-18 03:21:33 +08:00
|
|
|
L<ERR_get_error(3)>.
|
2000-01-28 03:31:26 +08:00
|
|
|
|
|
|
|
=head1 SEE ALSO
|
|
|
|
|
2015-08-18 03:21:33 +08:00
|
|
|
L<dsa(3)>, L<ERR_get_error(3)>, L<rand(3)>,
|
|
|
|
L<DSA_SIG_new(3)>,
|
|
|
|
L<DSA_sign(3)>
|
2000-01-28 03:31:26 +08:00
|
|
|
|
|
|
|
=head1 HISTORY
|
|
|
|
|
|
|
|
DSA_do_sign() and DSA_do_verify() were added in OpenSSL 0.9.3.
|
|
|
|
|
|
|
|
=cut
|