DSA_GENERATE_PARAMETERS(3ssl) OpenSSL DSA_GENERATE_PARAMETERS(3ssl) DSA_generate_parameters_ex, DSA_generate_parameters - DSA #include OpenSSL 3.0 OPENSSL_API_COMPAT openssl_user_macros(7): int DSA_generate_parameters_ex(DSA *dsa, int bits, const unsigned char *seed, int seed_len, int *counter_ret, unsigned long *h_ret, BN_GENCB *cb); OpenSSL 0.9.8 OPENSSL_API_COMPAT openssl_user_macros(7): DSA *DSA_generate_parameters(int bits, unsigned char *seed, int seed_len, int *counter_ret, unsigned long *h_ret, void (*callback)(int, int, void *), void *cb_arg); . EVP_PKEY_paramgen_init(3) EVP_PKEY_keygen(3) EVP_PKEY-DSA(7). DSA_generate_parameters_ex() p q g DSA dsa. bits p . 2048 q 160 2048 q 256 . seed NULL . seed_len q . DSA_generate_parameters_ex() *counter_ret *h_ret NULL. . cb NULL . BN_GENCB BN_GENCB_call BN_generate_prime(3). DSA_generate_parameters() DSA_generate_parameters_ex() BN_generate_prime(3) . o q BN_GENCB_call(cb, 0, m++) (m 0 ). o q BN_GENCB_call(cb, 1, -1). q - BN_GENCB_call(cb, 1, i) ( ) i ( 0). o q BN_GENCB_call(cb, 2, 0) BN_GENCB_call(cb, 3, 0). o p ( ) BN_GENCB_call(cb, 0, counter). o p BN_GENCB_call(cb, 1, -1). - BN_GENCB_call(cb, 1, i) ( ). i ( 0). o p BN_GENCB_call(cb, 2, 1). o BN_GENCB_call(cb, 3, 1). DSA_generate_parameters_ex() 1 0 . ERR_get_error(3). DSA_generate_parameters() DSA NULL . 20 . DSA_new(3), ERR_get_error(3), RAND_bytes(3), DSA_free(3), BN_generate_prime(3) DSA_generate_parameters_ex() OpenSSL 3.0. DSA_generate_parameters() OpenSSL 0.9.8 DSA_generate_parameters_ex() . 2000-2021 OpenSSL. . Apache 2.0 ( ""). . LICENSE . 3 . . : . 3.6.2 7 2026 DSA_GENERATE_PARAMETERS(3ssl)