1=pod
2
3=head1 NAME
4
5DSA_generate_key - generate DSA key pair
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 int DSA_generate_key(DSA *a);
16
17=head1 DESCRIPTION
18
19All of the functions described on this page are deprecated.
20Applications should instead use L<EVP_PKEY_keygen_init(3)> and
21L<EVP_PKEY_keygen(3)> as described in L<EVP_PKEY-DSA(7)>.
22
23DSA_generate_key() expects B<a> to contain DSA parameters. It generates
24a new key pair and stores it in B<a-E<gt>pub_key> and B<a-E<gt>priv_key>.
25
26The random generator must be seeded prior to calling DSA_generate_key().
27If the automatic seeding or reseeding of the OpenSSL CSPRNG fails due to
28external circumstances (see L<RAND(7)>), the operation will fail.
29
30=head1 RETURN VALUES
31
32DSA_generate_key() returns 1 on success, 0 otherwise.
33The error codes can be obtained by L<ERR_get_error(3)>.
34
35=head1 SEE ALSO
36
37L<DSA_new(3)>, L<ERR_get_error(3)>, L<RAND_bytes(3)>,
38L<DSA_generate_parameters_ex(3)>
39
40=head1 HISTORY
41
42This function was deprecated in OpenSSL 3.0.
43
44=head1 COPYRIGHT
45
46Copyright 2000-2021 The OpenSSL Project Authors. All Rights Reserved.
47
48Licensed under the Apache License 2.0 (the "License").  You may not use
49this file except in compliance with the License.  You can obtain a copy
50in the file LICENSE in the source distribution or at
51L<https://www.openssl.org/source/license.html>.
52
53=cut
54