From 1ddf2594e18137aeb7ce861e54f46824db76e36f Mon Sep 17 00:00:00 2001 From: Pauli Date: Fri, 7 Feb 2020 08:09:53 +1000 Subject: [PATCH] dsa: deprecate applications that depend on the low level DSA functions. speed is updated to not support DSA instead of being removed. The dhparam, dsaparam, dsa and gendsa commands are deprecated but still exist without NO_DEPRECATED defined. Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/10977) --- apps/build.info | 4 ++ apps/dhparam.c | 5 +- apps/dsa.c | 27 ++++++---- apps/dsaparam.c | 5 +- apps/gendsa.c | 5 +- apps/speed.c | 26 +++++----- doc/man1/openssl-dhparam.pod.in | 8 +++ doc/man1/openssl-dsa.pod.in | 8 +++ doc/man1/openssl-dsaparam.pod.in | 8 +++ doc/man1/openssl-gendsa.pod.in | 8 +++ util/libcrypto.num | 84 ++++++++++++++++---------------- 11 files changed, 120 insertions(+), 68 deletions(-) diff --git a/apps/build.info b/apps/build.info index f49edb4d44..c8835d765c 100644 --- a/apps/build.info +++ b/apps/build.info @@ -31,6 +31,10 @@ IF[{- !$disabled{apps} -}] SOURCE[openssl]=openssl.rc ENDIF + IF[{- !$disabled{'deprecated-3.0'} -}] + SOURCE[openssl]=dhparam.c dsa.c dsaparam.c gendsa.c + ENDIF + SCRIPTS{misc}=CA.pl SOURCE[CA.pl]=CA.pl.in # linkname tells build files that a symbolic link or copy of this script diff --git a/apps/dhparam.c b/apps/dhparam.c index 7a61241f92..e2a5b7946d 100644 --- a/apps/dhparam.c +++ b/apps/dhparam.c @@ -7,8 +7,11 @@ * https://www.openssl.org/source/license.html */ +/* We need to use some deprecated APIs */ +#define OPENSSL_SUPPRESS_DEPRECATED + #include -#ifdef OPENSSL_NO_DH +#if defined(OPENSSL_NO_DH) || defined(OPENSSL_NO_DEPRECATED_3_0) NON_EMPTY_TRANSLATION_UNIT #else diff --git a/apps/dsa.c b/apps/dsa.c index 8ba9305030..0156ff8373 100644 --- a/apps/dsa.c +++ b/apps/dsa.c @@ -7,8 +7,11 @@ * https://www.openssl.org/source/license.html */ +/* We need to use the deprecated DSA_print */ +#define OPENSSL_SUPPRESS_DEPRECATED + #include -#ifdef OPENSSL_NO_DSA +#if defined(OPENSSL_NO_DSA) || defined(OPENSSL_NO_DEPRECATED_3_0) NON_EMPTY_TRANSLATION_UNIT #else @@ -81,7 +84,6 @@ int dsa_main(int argc, char **argv) int pvk_encr = 2; # endif int private = 0; - EVP_PKEY *pkey = NULL; prog = opt_init(argc, argv, dsa_options); while ((o = opt_next()) != OPT_EOF) { @@ -161,13 +163,19 @@ int dsa_main(int argc, char **argv) } BIO_printf(bio_err, "read DSA key\n"); - if (pubin) - pkey = load_pubkey(infile, informat, 1, passin, e, "Public Key"); - else - pkey = load_key(infile, informat, 1, passin, e, "Private Key"); + { + EVP_PKEY *pkey; + + if (pubin) + pkey = load_pubkey(infile, informat, 1, passin, e, "Public Key"); + else + pkey = load_key(infile, informat, 1, passin, e, "Private Key"); - if (pkey != NULL) - dsa = EVP_PKEY_get1_DSA(pkey); + if (pkey != NULL) { + dsa = EVP_PKEY_get1_DSA(pkey); + EVP_PKEY_free(pkey); + } + } if (dsa == NULL) { BIO_printf(bio_err, "unable to load Key\n"); @@ -181,7 +189,7 @@ int dsa_main(int argc, char **argv) if (text) { assert(pubin || private); - if (!EVP_PKEY_print_private(out, pkey, 0, NULL)) { + if (!DSA_print(out, dsa, 0)) { perror(outfile); ERR_print_errors(bio_err); goto end; @@ -257,7 +265,6 @@ int dsa_main(int argc, char **argv) } ret = 0; end: - EVP_PKEY_free(pkey); BIO_free_all(out); DSA_free(dsa); release_engine(e); diff --git a/apps/dsaparam.c b/apps/dsaparam.c index 17068fb9d0..25b86d5cc6 100644 --- a/apps/dsaparam.c +++ b/apps/dsaparam.c @@ -7,8 +7,11 @@ * https://www.openssl.org/source/license.html */ +/* We need to use some deprecated APIs */ +#define OPENSSL_SUPPRESS_DEPRECATED + #include -#ifdef OPENSSL_NO_DSA +#if defined(OPENSSL_NO_DSA) || defined(OPENSSL_NO_DEPRECATED_3_0) NON_EMPTY_TRANSLATION_UNIT #else diff --git a/apps/gendsa.c b/apps/gendsa.c index 12806ef2dd..686168c692 100644 --- a/apps/gendsa.c +++ b/apps/gendsa.c @@ -7,8 +7,11 @@ * https://www.openssl.org/source/license.html */ +/* We need to use some deprecated APIs */ +#define OPENSSL_SUPPRESS_DEPRECATED + #include -#ifdef OPENSSL_NO_DSA +#if defined(OPENSSL_NO_DSA) || defined(OPENSSL_NO_DEPRECATED_3_0) NON_EMPTY_TRANSLATION_UNIT #else diff --git a/apps/speed.c b/apps/speed.c index 17f2cf3924..0e94e7cae6 100644 --- a/apps/speed.c +++ b/apps/speed.c @@ -99,7 +99,7 @@ # include "./testrsa.h" #endif #include -#ifndef OPENSSL_NO_DSA +#if !defined(OPENSSL_NO_DSA) && !defined(OPENSSL_NO_DEPRECATED_3_0) # include # include "./testdsa.h" #endif @@ -406,7 +406,7 @@ static const OPT_PAIR doit_choices[] = { static double results[ALGOR_NUM][SIZE_NUM]; -#ifndef OPENSSL_NO_DSA +#if !defined(OPENSSL_NO_DSA) && !defined(OPENSSL_NO_DEPRECATED_3_0) enum { R_DSA_512, R_DSA_1024, R_DSA_2048, DSA_NUM }; static const OPT_PAIR dsa_choices[DSA_NUM] = { {"dsa512", R_DSA_512}, @@ -545,7 +545,7 @@ typedef struct loopargs_st { #ifndef OPENSSL_NO_RSA RSA *rsa_key[RSA_NUM]; #endif -#ifndef OPENSSL_NO_DSA +#if !defined(OPENSSL_NO_DSA) && !defined(OPENSSL_NO_DEPRECATED_3_0) DSA *dsa_key[DSA_NUM]; #endif #ifndef OPENSSL_NO_EC @@ -1066,7 +1066,7 @@ static int RSA_verify_loop(void *args) } #endif -#ifndef OPENSSL_NO_DSA +#if !defined(OPENSSL_NO_DSA) && !defined(OPENSSL_NO_DEPRECATED_3_0) static long dsa_c[DSA_NUM][2]; static int DSA_sign_loop(void *args) { @@ -1520,7 +1520,7 @@ int speed_main(int argc, char **argv) uint8_t rsa_doit[RSA_NUM] = { 0 }; int primes = RSA_DEFAULT_PRIME_NUM; #endif -#ifndef OPENSSL_NO_DSA +#if !defined(OPENSSL_NO_DSA) && !defined(OPENSSL_NO_DEPRECATED_3_0) static const unsigned int dsa_bits[DSA_NUM] = { 512, 1024, 2048 }; uint8_t dsa_doit[DSA_NUM] = { 0 }; #endif @@ -1760,7 +1760,7 @@ int speed_main(int argc, char **argv) } } #endif -#ifndef OPENSSL_NO_DSA +#if !defined(OPENSSL_NO_DSA) && !defined(OPENSSL_NO_DEPRECATED_3_0) if (strncmp(algo, "dsa", 3) == 0) { if (algo[3] == '\0') { memset(dsa_doit, 1, sizeof(dsa_doit)); @@ -1912,7 +1912,7 @@ int speed_main(int argc, char **argv) #ifndef OPENSSL_NO_RSA memset(rsa_doit, 1, sizeof(rsa_doit)); #endif -#ifndef OPENSSL_NO_DSA +#if !defined(OPENSSL_NO_DSA) && !defined(OPENSSL_NO_DEPRECATED_3_0) memset(dsa_doit, 1, sizeof(dsa_doit)); #endif #ifndef OPENSSL_NO_EC @@ -1952,7 +1952,7 @@ int speed_main(int argc, char **argv) } } #endif -#ifndef OPENSSL_NO_DSA +#if !defined(OPENSSL_NO_DSA) && !defined(OPENSSL_NO_DEPRECATED_3_0) for (i = 0; i < loopargs_len; i++) { loopargs[i].dsa_key[0] = get_dsa(512); loopargs[i].dsa_key[1] = get_dsa(1024); @@ -2120,7 +2120,7 @@ int speed_main(int argc, char **argv) } # endif -# ifndef OPENSSL_NO_DSA +# if !defined(OPENSSL_NO_DSA) && !defined(OPENSSL_NO_DEPRECATED_3_0) dsa_c[R_DSA_512][0] = count / 1000; dsa_c[R_DSA_512][1] = count / 1000 / 2; for (i = 1; i < DSA_NUM; i++) { @@ -2955,7 +2955,7 @@ int speed_main(int argc, char **argv) if (RAND_bytes(loopargs[i].buf, 36) <= 0) goto end; -#ifndef OPENSSL_NO_DSA +#if !defined(OPENSSL_NO_DSA) && !defined(OPENSSL_NO_DEPRECATED_3_0) for (testnum = 0; testnum < DSA_NUM; testnum++) { int st = 0; if (!dsa_doit[testnum]) @@ -3582,7 +3582,7 @@ int speed_main(int argc, char **argv) rsa_results[k][0], rsa_results[k][1]); } #endif -#ifndef OPENSSL_NO_DSA +#if !defined(OPENSSL_NO_DSA) && !defined(OPENSSL_NO_DEPRECATED_3_0) testnum = 1; for (k = 0; k < DSA_NUM; k++) { if (!dsa_doit[k]) @@ -3695,7 +3695,7 @@ int speed_main(int argc, char **argv) for (k = 0; k < RSA_NUM; k++) RSA_free(loopargs[i].rsa_key[k]); #endif -#ifndef OPENSSL_NO_DSA +#if !defined(OPENSSL_NO_DSA) && !defined(OPENSSL_NO_DEPRECATED_3_0) for (k = 0; k < DSA_NUM; k++) DSA_free(loopargs[i].dsa_key[k]); #endif @@ -3901,7 +3901,7 @@ static int do_multi(int multi, int size_num) d = atof(sstrsep(&p, sep)); rsa_results[k][1] += d; } -# ifndef OPENSSL_NO_DSA +#if !defined(OPENSSL_NO_DSA) && !defined(OPENSSL_NO_DEPRECATED_3_0) else if (strncmp(buf, "+F3:", 4) == 0) { int k; double d; diff --git a/doc/man1/openssl-dhparam.pod.in b/doc/man1/openssl-dhparam.pod.in index 9da15f7ad2..906af1c25c 100644 --- a/doc/man1/openssl-dhparam.pod.in +++ b/doc/man1/openssl-dhparam.pod.in @@ -29,6 +29,9 @@ B =head1 DESCRIPTION +This command has been deprecated. +The L command should be used instead. + This command is used to manipulate DH parameter files. =head1 OPTIONS @@ -125,8 +128,13 @@ There should be a way to generate and manipulate DH keys. =head1 SEE ALSO L, +L, L +=head1 HISTORY + +This command was deprecated in OpenSSL 3.0. + =head1 COPYRIGHT Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved. diff --git a/doc/man1/openssl-dsa.pod.in b/doc/man1/openssl-dsa.pod.in index 548d36874f..4ba948a41b 100644 --- a/doc/man1/openssl-dsa.pod.in +++ b/doc/man1/openssl-dsa.pod.in @@ -42,6 +42,9 @@ B B =head1 DESCRIPTION +This command has been deprecated. +The L command should be used instead. + This command processes DSA keys. They can be converted between various forms and their components printed out. B This command uses the traditional SSLeay compatible format for private key encryption: newer @@ -147,11 +150,16 @@ To just output the public part of a private key: =head1 SEE ALSO L, +L, L, L, L, L +=head1 HISTORY + +This command was deprecated in OpenSSL 3.0. + =head1 COPYRIGHT Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved. diff --git a/doc/man1/openssl-dsaparam.pod.in b/doc/man1/openssl-dsaparam.pod.in index bab743672f..51d44bd9ac 100644 --- a/doc/man1/openssl-dsaparam.pod.in +++ b/doc/man1/openssl-dsaparam.pod.in @@ -24,6 +24,9 @@ B =head1 DESCRIPTION +This command has been deprecated. +The L command should be used instead. + This command is used to manipulate or generate DSA parameter files. DSA parameter generation can be a slow process and as a result the same set of @@ -95,11 +98,16 @@ the input file (if any) is ignored. =head1 SEE ALSO L, +L, L, L, L, L +=head1 HISTORY + +This command was deprecated in OpenSSL 3.0. + =head1 COPYRIGHT Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved. diff --git a/doc/man1/openssl-gendsa.pod.in b/doc/man1/openssl-gendsa.pod.in index e98d662a5a..f1f8fe5b91 100644 --- a/doc/man1/openssl-gendsa.pod.in +++ b/doc/man1/openssl-gendsa.pod.in @@ -32,6 +32,9 @@ B B =head1 DESCRIPTION +This command has been deprecated. +The L command should be used instead. + This command generates a DSA private key from a DSA parameter file (which will be typically generated by the L command). @@ -83,11 +86,16 @@ much quicker that RSA key generation for example. =head1 SEE ALSO L, +L, L, L, L, L +=head1 HISTORY + +This command was deprecated in OpenSSL 3.0. + =head1 COPYRIGHT Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved. diff --git a/util/libcrypto.num b/util/libcrypto.num index d3a6fab5f0..29e37b4a41 100644 --- a/util/libcrypto.num +++ b/util/libcrypto.num @@ -488,7 +488,7 @@ X509_INFO_new 497 3_0_0 EXIST::FUNCTION: OCSP_RESPDATA_it 498 3_0_0 EXIST::FUNCTION:OCSP X509_CRL_print 499 3_0_0 EXIST::FUNCTION: WHIRLPOOL_Update 500 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0,WHIRLPOOL -DSA_get_ex_data 501 3_0_0 EXIST::FUNCTION:DSA +DSA_get_ex_data 501 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0,DSA BN_copy 502 3_0_0 EXIST::FUNCTION: FIPS_mode_set 503 3_0_0 EXIST::FUNCTION: X509_VERIFY_PARAM_add0_policy 504 3_0_0 EXIST::FUNCTION: @@ -497,7 +497,7 @@ X509_TRUST_get_trust 506 3_0_0 EXIST::FUNCTION: DES_string_to_key 507 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0,DES ERR_error_string 508 3_0_0 EXIST::FUNCTION: BIO_new_connect 509 3_0_0 EXIST::FUNCTION:SOCK -DSA_new_method 511 3_0_0 EXIST::FUNCTION:DSA +DSA_new_method 511 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0,DSA OCSP_CERTID_new 512 3_0_0 EXIST::FUNCTION:OCSP X509_CRL_get_signature_nid 513 3_0_0 EXIST::FUNCTION: X509_policy_level_node_count 514 3_0_0 EXIST::FUNCTION: @@ -760,7 +760,7 @@ PKCS7_add_attrib_smimecap 778 3_0_0 EXIST::FUNCTION: ERR_peek_last_error_line_data 779 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0 EVP_PKEY_meth_set_sign 780 3_0_0 EXIST::FUNCTION: ASN1_i2d_bio 781 3_0_0 EXIST::FUNCTION: -DSA_verify 782 3_0_0 EXIST::FUNCTION:DSA +DSA_verify 782 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0,DSA i2a_ASN1_OBJECT 783 3_0_0 EXIST::FUNCTION: i2d_PKEY_USAGE_PERIOD 784 3_0_0 EXIST::FUNCTION: DSA_new 785 3_0_0 EXIST::FUNCTION:DSA @@ -1546,7 +1546,7 @@ PEM_write_X509_REQ_NEW 1579 3_0_0 EXIST::FUNCTION:STDIO CONF_imodule_set_usr_data 1580 3_0_0 EXIST::FUNCTION: d2i_TS_RESP_fp 1581 3_0_0 EXIST::FUNCTION:STDIO,TS X509_policy_tree_get0_user_policies 1582 3_0_0 EXIST::FUNCTION: -DSA_do_sign 1584 3_0_0 EXIST::FUNCTION:DSA +DSA_do_sign 1584 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0,DSA EVP_CIPHER_CTX_reset 1585 3_0_0 EXIST::FUNCTION: OCSP_REVOKEDINFO_new 1586 3_0_0 EXIST::FUNCTION:OCSP SRP_Verify_A_mod_N 1587 3_0_0 EXIST::FUNCTION:SRP @@ -1821,7 +1821,7 @@ X509_PURPOSE_get0 1863 3_0_0 EXIST::FUNCTION: EVP_PKEY_set1_DSA 1864 3_0_0 EXIST::FUNCTION:DSA X509_NAME_it 1865 3_0_0 EXIST::FUNCTION: OBJ_add_object 1866 3_0_0 EXIST::FUNCTION: -DSA_generate_key 1867 3_0_0 EXIST::FUNCTION:DSA +DSA_generate_key 1867 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0,DSA EVP_DigestUpdate 1868 3_0_0 EXIST::FUNCTION: X509_get_ext_by_OBJ 1869 3_0_0 EXIST::FUNCTION: PBEPARAM_new 1870 3_0_0 EXIST::FUNCTION: @@ -2162,7 +2162,7 @@ EVP_idea_ecb 2209 3_0_0 EXIST::FUNCTION:IDEA i2d_TS_ACCURACY 2210 3_0_0 EXIST::FUNCTION:TS ASN1_VISIBLESTRING_free 2211 3_0_0 EXIST::FUNCTION: NCONF_load_bio 2212 3_0_0 EXIST::FUNCTION: -DSA_get_default_method 2213 3_0_0 EXIST::FUNCTION:DSA +DSA_get_default_method 2213 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0,DSA OPENSSL_LH_retrieve 2214 3_0_0 EXIST::FUNCTION: CRYPTO_ccm128_decrypt_ccm64 2215 3_0_0 EXIST::FUNCTION: TS_RESP_CTX_set_clock_precision_digits 2216 3_0_0 EXIST::FUNCTION:TS @@ -2266,7 +2266,7 @@ HMAC_CTX_free 2313 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_ EC_POINT_new 2314 3_0_0 EXIST::FUNCTION:EC PKCS7_ISSUER_AND_SERIAL_digest 2315 3_0_0 EXIST::FUNCTION: EVP_des_ofb 2316 3_0_0 EXIST::FUNCTION:DES -DSA_set_method 2317 3_0_0 EXIST::FUNCTION:DSA +DSA_set_method 2317 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0,DSA EVP_PKEY_get1_RSA 2318 3_0_0 EXIST::FUNCTION:RSA EC_KEY_OpenSSL 2319 3_0_0 EXIST::FUNCTION:EC EVP_camellia_192_ofb 2320 3_0_0 EXIST::FUNCTION:CAMELLIA @@ -2404,9 +2404,9 @@ d2i_TS_TST_INFO_bio 2454 3_0_0 EXIST::FUNCTION:TS BIGNUM_it 2455 3_0_0 EXIST::FUNCTION: BN_BLINDING_get_flags 2456 3_0_0 EXIST::FUNCTION: X509_EXTENSION_get_critical 2457 3_0_0 EXIST::FUNCTION: -DSA_set_default_method 2458 3_0_0 EXIST::FUNCTION:DSA +DSA_set_default_method 2458 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0,DSA PEM_write_bio_DHxparams 2459 3_0_0 EXIST::FUNCTION:DH -DSA_set_ex_data 2460 3_0_0 EXIST::FUNCTION:DSA +DSA_set_ex_data 2460 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0,DSA BIO_s_datagram_sctp 2461 3_0_0 EXIST::FUNCTION:DGRAM,SCTP SXNET_add_id_asc 2462 3_0_0 EXIST::FUNCTION: X509_print_fp 2463 3_0_0 EXIST::FUNCTION:STDIO @@ -2472,7 +2472,7 @@ i2d_USERNOTICE 2523 3_0_0 EXIST::FUNCTION: d2i_NETSCAPE_SPKI 2524 3_0_0 EXIST::FUNCTION: CRYPTO_mem_leaks 2525 3_0_0 EXIST::FUNCTION:CRYPTO_MDEBUG,DEPRECATEDIN_3_0 BN_get_rfc3526_prime_1536 2526 3_0_0 EXIST::FUNCTION:DH -DSA_sign 2527 3_0_0 EXIST::FUNCTION:DSA +DSA_sign 2527 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0,DSA RAND_egd 2528 3_0_0 EXIST::FUNCTION:EGD ASN1_d2i_bio 2529 3_0_0 EXIST::FUNCTION: X509_REQ_digest 2531 3_0_0 EXIST::FUNCTION: @@ -3296,7 +3296,7 @@ OCSP_SINGLERESP_get_ext_by_OBJ 3363 3_0_0 EXIST::FUNCTION:OCSP ECDSA_SIG_get0 3364 3_0_0 EXIST::FUNCTION:EC BN_set_word 3365 3_0_0 EXIST::FUNCTION: ENGINE_set_flags 3366 3_0_0 EXIST::FUNCTION:ENGINE -DSA_OpenSSL 3367 3_0_0 EXIST::FUNCTION:DSA +DSA_OpenSSL 3367 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0,DSA CMS_RecipientInfo_kari_get0_alg 3368 3_0_0 EXIST::FUNCTION:CMS PKCS7_ENVELOPE_new 3369 3_0_0 EXIST::FUNCTION: EDIPARTYNAME_new 3370 3_0_0 EXIST::FUNCTION: @@ -3451,7 +3451,7 @@ EVP_DecryptFinal_ex 3521 3_0_0 EXIST::FUNCTION: SCT_get_signature_nid 3522 3_0_0 EXIST::FUNCTION:CT PROXY_CERT_INFO_EXTENSION_new 3523 3_0_0 EXIST::FUNCTION: EVP_bf_cbc 3524 3_0_0 EXIST::FUNCTION:BF -DSA_do_verify 3525 3_0_0 EXIST::FUNCTION:DSA +DSA_do_verify 3525 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0,DSA EC_GROUP_get_seed_len 3526 3_0_0 EXIST::FUNCTION:EC EC_POINT_set_affine_coordinates_GF2m 3527 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0,EC,EC2M TS_REQ_set_policy_id 3528 3_0_0 EXIST::FUNCTION:TS @@ -3597,7 +3597,7 @@ i2d_ASIdOrRange 3676 3_0_0 EXIST::FUNCTION:RFC3779 OCSP_url_svcloc_new 3677 3_0_0 EXIST::FUNCTION:OCSP CRYPTO_mem_ctrl 3678 3_0_0 EXIST::FUNCTION:CRYPTO_MDEBUG,DEPRECATEDIN_3_0 ASN1_verify 3679 3_0_0 EXIST::FUNCTION: -DSA_generate_parameters_ex 3680 3_0_0 EXIST::FUNCTION:DSA +DSA_generate_parameters_ex 3680 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0,DSA X509_sign 3681 3_0_0 EXIST::FUNCTION: SHA256_Transform 3682 3_0_0 EXIST::FUNCTION: BIO_ADDR_free 3683 3_0_0 EXIST::FUNCTION:SOCK @@ -3868,42 +3868,42 @@ BIO_meth_get_destroy 3951 3_0_0 EXIST::FUNCTION: BIO_meth_get_read 3952 3_0_0 EXIST::FUNCTION: BIO_set_retry_reason 3953 3_0_0 EXIST::FUNCTION: BIO_meth_free 3954 3_0_0 EXIST::FUNCTION: -DSA_meth_set_bn_mod_exp 3955 3_0_0 EXIST::FUNCTION:DSA -DSA_meth_set_init 3956 3_0_0 EXIST::FUNCTION:DSA -DSA_meth_free 3957 3_0_0 EXIST::FUNCTION:DSA -DSA_meth_set_mod_exp 3958 3_0_0 EXIST::FUNCTION:DSA -DSA_meth_set_sign 3959 3_0_0 EXIST::FUNCTION:DSA -DSA_meth_get_finish 3960 3_0_0 EXIST::FUNCTION:DSA +DSA_meth_set_bn_mod_exp 3955 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0,DSA +DSA_meth_set_init 3956 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0,DSA +DSA_meth_free 3957 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0,DSA +DSA_meth_set_mod_exp 3958 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0,DSA +DSA_meth_set_sign 3959 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0,DSA +DSA_meth_get_finish 3960 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0,DSA DSA_set_flags 3961 3_0_0 EXIST::FUNCTION:DSA DSA_get0_pqg 3962 3_0_0 EXIST::FUNCTION:DSA -DSA_meth_get0_app_data 3963 3_0_0 EXIST::FUNCTION:DSA -DSA_meth_get_keygen 3964 3_0_0 EXIST::FUNCTION:DSA +DSA_meth_get0_app_data 3963 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0,DSA +DSA_meth_get_keygen 3964 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0,DSA DSA_clear_flags 3965 3_0_0 EXIST::FUNCTION:DSA -DSA_meth_get0_name 3966 3_0_0 EXIST::FUNCTION:DSA -DSA_meth_get_paramgen 3967 3_0_0 EXIST::FUNCTION:DSA -DSA_meth_get_sign 3968 3_0_0 EXIST::FUNCTION:DSA -DSA_meth_set_paramgen 3969 3_0_0 EXIST::FUNCTION:DSA +DSA_meth_get0_name 3966 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0,DSA +DSA_meth_get_paramgen 3967 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0,DSA +DSA_meth_get_sign 3968 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0,DSA +DSA_meth_set_paramgen 3969 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0,DSA DSA_test_flags 3970 3_0_0 EXIST::FUNCTION:DSA -DSA_meth_set0_app_data 3971 3_0_0 EXIST::FUNCTION:DSA -DSA_meth_set1_name 3972 3_0_0 EXIST::FUNCTION:DSA +DSA_meth_set0_app_data 3971 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0,DSA +DSA_meth_set1_name 3972 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0,DSA DSA_get0_key 3973 3_0_0 EXIST::FUNCTION:DSA -DSA_meth_get_mod_exp 3974 3_0_0 EXIST::FUNCTION:DSA +DSA_meth_get_mod_exp 3974 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0,DSA DSA_set0_pqg 3975 3_0_0 EXIST::FUNCTION:DSA -DSA_meth_get_flags 3976 3_0_0 EXIST::FUNCTION:DSA -DSA_meth_get_verify 3977 3_0_0 EXIST::FUNCTION:DSA -DSA_meth_set_verify 3978 3_0_0 EXIST::FUNCTION:DSA -DSA_meth_set_finish 3979 3_0_0 EXIST::FUNCTION:DSA -DSA_meth_set_keygen 3980 3_0_0 EXIST::FUNCTION:DSA -DSA_meth_dup 3981 3_0_0 EXIST::FUNCTION:DSA +DSA_meth_get_flags 3976 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0,DSA +DSA_meth_get_verify 3977 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0,DSA +DSA_meth_set_verify 3978 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0,DSA +DSA_meth_set_finish 3979 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0,DSA +DSA_meth_set_keygen 3980 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0,DSA +DSA_meth_dup 3981 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0,DSA DSA_set0_key 3982 3_0_0 EXIST::FUNCTION:DSA -DSA_meth_get_init 3983 3_0_0 EXIST::FUNCTION:DSA -DSA_meth_set_sign_setup 3984 3_0_0 EXIST::FUNCTION:DSA -DSA_meth_get_bn_mod_exp 3985 3_0_0 EXIST::FUNCTION:DSA -DSA_get_method 3986 3_0_0 EXIST::FUNCTION:DSA -DSA_meth_new 3987 3_0_0 EXIST::FUNCTION:DSA -DSA_meth_set_flags 3988 3_0_0 EXIST::FUNCTION:DSA -DSA_meth_get_sign_setup 3989 3_0_0 EXIST::FUNCTION:DSA -DSA_get0_engine 3990 3_0_0 EXIST::FUNCTION:DSA +DSA_meth_get_init 3983 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0,DSA +DSA_meth_set_sign_setup 3984 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0,DSA +DSA_meth_get_bn_mod_exp 3985 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0,DSA +DSA_get_method 3986 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0,DSA +DSA_meth_new 3987 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0,DSA +DSA_meth_set_flags 3988 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0,DSA +DSA_meth_get_sign_setup 3989 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0,DSA +DSA_get0_engine 3990 3_0_0 EXIST::FUNCTION:DEPRECATEDIN_3_0,DSA X509_VERIFY_PARAM_set_auth_level 3991 3_0_0 EXIST::FUNCTION: X509_VERIFY_PARAM_get_auth_level 3992 3_0_0 EXIST::FUNCTION: X509_REQ_get0_pubkey 3993 3_0_0 EXIST::FUNCTION: -- 2.39.2