--- a/lib/gnutls_pk.c +++ a/lib/gnutls_pk.c @@ -529,7 +529,7 @@ _generate_params (int algo, bigint_t * resarr, unsigned int *resarr_len, int ret; unsigned int i; - ret = _gnutls_pk_ops.generate (GNUTLS_PK_RSA, bits, ¶ms); + ret = _gnutls_pk_ops.generate (algo, bits, ¶ms); if (ret < 0) {