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,
|
2017-01-21 02:58:49 +08:00
|
|
|
DSA_SIG *sig, DSA *dsa);
|
2000-01-28 03:31:26 +08:00
|
|
|
|
|
|
|
=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
|
|
|
|
|
2016-11-11 16:33:09 +08:00
|
|
|
L<DSA_new(3)>, L<ERR_get_error(3)>, L<RAND_bytes(3)>,
|
2015-08-18 03:21:33 +08:00
|
|
|
L<DSA_SIG_new(3)>,
|
|
|
|
L<DSA_sign(3)>
|
2000-01-28 03:31:26 +08:00
|
|
|
|
2016-05-18 23:44:05 +08:00
|
|
|
=head1 COPYRIGHT
|
|
|
|
|
|
|
|
Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.
|
|
|
|
|
2018-12-06 21:04:44 +08:00
|
|
|
Licensed under the Apache License 2.0 (the "License"). You may not use
|
2016-05-18 23:44:05 +08:00
|
|
|
this file except in compliance with the License. You can obtain a copy
|
|
|
|
in the file LICENSE in the source distribution or at
|
|
|
|
L<https://www.openssl.org/source/license.html>.
|
|
|
|
|
|
|
|
=cut
|