crypto: use EVP_PKEY_CTX_set_dsa_paramgen_q_bits when available
This matches the formulation described in the documentation: https://www.openssl.org/docs/man3.0/man3/EVP_PKEY_CTX_set_dsa_paramgen_q_bits.html
It is also, starting OpenSSL 3.0, more type-safe because the wrapper macros were finally converted to real functions. In OpenSSL 3.0, it is also no longer quite a wrapper over EVP_PKEY_CTX_ctrl, so using this name saves some extra OSSL_PARAM <-> EVP_PKEY_CTRL conversions.
Alas, it was only backported to OpenSSL 1.1.1e, so I've left a temporary compatibility define until you all decide to drop pre-1.1.1e releases of 1.1.1.
Review requested:
- [ ] @nodejs/crypto
CI: https://ci.nodejs.org/job/node-test-pull-request/46640/
What are the next steps for this PR? Is this waiting on anything from me?
CI: https://ci.nodejs.org/job/node-test-pull-request/46924/
@davidben Sorry about the delay on our end, and thank you for the contribution. This should be ready to land as soon as the current CI run succeeds.
CI: https://ci.nodejs.org/job/node-test-pull-request/46929/
CI: https://ci.nodejs.org/job/node-test-pull-request/46937/
Landed in d6c2316452c4301a252c188f0e17a8023b5d04df