DH_GENERATE_PARAMETERS(3ssl) OpenSSL DH_GENERATE_PARAMETERS(3ssl) DH_generate_parameters_ex, DH_generate_parameters, DH_check, DH_check_params, DH_check_ex, DH_check_params_ex, DH_check_pub_key_ex - - #include OpenSSL 3.0 OPENSSL_API_COMPAT openssl_user_macros(7): int DH_generate_parameters_ex(DH *dh, int prime_len, int generator, BN_GENCB *cb); int DH_check(DH *dh, int *codes); int DH_check_params(DH *dh, int *codes); int DH_check_ex(const DH *dh); int DH_check_params_ex(const DH *dh); int DH_check_pub_key_ex(const DH *dh, const BIGNUM *pub_key); OpenSSL 0.9.8 OPENSSL_API_COMPAT openssl_user_macros(7): DH *DH_generate_parameters(int prime_len, int generator, void (*callback)(int, int, void *), void *cb_arg); . EVP_PKEY_check(3) EVP_PKEY_public_check(3) EVP_PKEY_private_check(3) EVP_PKEY_param_check(3). DH_generate_parameters_ex() - DH . . DH_generate_parameters_ex() . prime_len . generator > 1 2 5. . cb NULL BN_generate_prime(3) BN_GENCB_call(cb, 3, 0). BN_generate_prime_ex(3) BN_GENCB_call(). DH_generate_parameters() DH_generate_prime_ex() BN_generate_prime(3) . DH_check_params() p g . DH_check(). *codes . *codes : DH_CHECK_P_NOT_PRIME p . p . DH_NOT_SUITABLE_GENERATOR g . g p . DH_MODULUS_TOO_SMALL . DH_MODULUS_TOO_LARGE . DH_check() - dh . *codes . *codes : DH_CHECK_P_NOT_PRIME p . DH_CHECK_P_NOT_SAFE_PRIME p q. DH_UNABLE_TO_CHECK_GENERATOR g . DH_NOT_SUITABLE_GENERATOR g . DH_CHECK_Q_NOT_PRIME q . DH_CHECK_INVALID_Q_VALUE q . DH_CHECK_INVALID_J_VALUE j . 0 *codes - . DH_check_ex() DH_check_params() DH_check_pub_key_ex() DH_check() DH_check_params() . DH_generate_parameters_ex() DH_check() DH_check_params() 1 0 . DH_generate_parameters() DH NULL . DH_check_ex() DH_check_params() DH_check_pub_key_ex() 1 0 . ERR_get_error(3). DH_new(3) ERR_get_error(3) RAND_bytes(3) DH_free(3) OpenSSL 3.0. DH_generate_parameters() OpenSSL 0.9.8 DH_generate_parameters_ex() . 2000-2020 OpenSSL. . Apache 2.0 ( ""). . LICENSE . 3 . . : . 3.6.2 7 2026 DH_GENERATE_PARAMETERS(3ssl)