1=pod
2
3=head1 NAME
4
5DSA_do_sign, DSA_do_verify - raw DSA signature operations
6
7=head1 SYNOPSIS
8
9 #include <openssl/dsa.h>
10
11The following functions have been deprecated since OpenSSL 3.0, and can be
12hidden entirely by defining B<OPENSSL_API_COMPAT> with a suitable version value,
13see L<openssl_user_macros(7)>:
14
15 DSA_SIG *DSA_do_sign(const unsigned char *dgst, int dlen, DSA *dsa);
16
17 int DSA_do_verify(const unsigned char *dgst, int dgst_len,
18                   DSA_SIG *sig, DSA *dsa);
19
20=head1 DESCRIPTION
21
22All of the functions described on this page are deprecated.
23Applications should instead use L<EVP_PKEY_sign_init(3)>, L<EVP_PKEY_sign(3)>,
24L<EVP_PKEY_verify_init(3)> and L<EVP_PKEY_verify(3)>.
25
26DSA_do_sign() computes a digital signature on the B<len> byte message
27digest B<dgst> using the private key B<dsa> and returns it in a
28newly allocated B<DSA_SIG> structure.
29
30L<DSA_sign_setup(3)> may be used to precompute part
31of the signing operation in case signature generation is
32time-critical.
33
34DSA_do_verify() verifies that the signature B<sig> matches a given
35message digest B<dgst> of size B<len>.  B<dsa> is the signer's public
36key.
37
38=head1 RETURN VALUES
39
40DSA_do_sign() returns the signature, NULL on error.  DSA_do_verify()
41returns 1 for a valid signature, 0 for an incorrect signature and -1
42on error. The error codes can be obtained by
43L<ERR_get_error(3)>.
44
45=head1 SEE ALSO
46
47L<DSA_new(3)>, L<ERR_get_error(3)>, L<RAND_bytes(3)>,
48L<DSA_SIG_new(3)>,
49L<DSA_sign(3)>
50
51=head1 HISTORY
52
53All of these functions were deprecated in OpenSSL 3.0.
54
55=head1 COPYRIGHT
56
57Copyright 2000-2021 The OpenSSL Project Authors. All Rights Reserved.
58
59Licensed under the Apache License 2.0 (the "License").  You may not use
60this file except in compliance with the License.  You can obtain a copy
61in the file LICENSE in the source distribution or at
62L<https://www.openssl.org/source/license.html>.
63
64=cut
65