nt pbits = 2048;
unsigned int qbits = 256;
int gindex = 1;
OSSL_PARAM params[5];
EVP_PKEY *param_key = NULL;
EVP_PKEY_CTX *pctx = NULL;

pctx = EVP_PKEY_CTX_new_from_name(NULL, &quot;DSA&quot;, NULL);
EVP_PKEY_paramgen_init(pctx);

params[0] = OSSL_PARAM_construct_uint(&quot;pbits&quot;, &amp;pbits);
params[1] = OSSL_PARAM_construct_uint(&quot;qbits&quot;, &amp;qbits);
params[2] = OSSL_PARAM_construct_int(&quot;gindex&quot;, &amp;gindex);
params[3] = OSSL_PARAM_construct_utf8_string(&quot;digest&quot;, &quo