Commit 7fa27d9a authored by Dr. Stephen Henson's avatar Dr. Stephen Henson
Browse files

Add additional parameter to dsa_builtin_paramgen to output the generated

seed to: this doesn't introduce any binary compatibility issues as the
function is only used internally.

The seed output is needed for FIPS 140-2 algorithm testing: the functionality
used to be in DSA_generate_parameters_ex() but was removed in OpenSSL 1.0.0
parent c341b9cc
Loading
Loading
Loading
Loading
+4 −1
Changes for crypto/dsa/dsa_gen.c: 4 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -105,12 +105,13 @@ int DSA_generate_parameters_ex(DSA *ret, int bits,
			}

		return dsa_builtin_paramgen(ret, bits, qbits, evpmd,
				seed_in, seed_len, counter_ret, h_ret, cb);
			seed_in, seed_len, NULL, counter_ret, h_ret, cb);
		}
	}

int dsa_builtin_paramgen(DSA *ret, size_t bits, size_t qbits,
	const EVP_MD *evpmd, const unsigned char *seed_in, size_t seed_len,
	unsigned char *seed_out,
	int *counter_ret, unsigned long *h_ret, BN_GENCB *cb)
	{
	int ok=0;
@@ -332,6 +333,8 @@ err:
			}
		if (counter_ret != NULL) *counter_ret=counter;
		if (h_ret != NULL) *h_ret=h;
		if (seed_out)
			memcpy(seed_out, seed, qsize);
		}
	if(ctx)
		{
+1 −0
Changes for crypto/dsa/dsa_locl.h: 1 added line, 0 removed lines.
Original line number Diff line number Diff line
@@ -56,4 +56,5 @@

int dsa_builtin_paramgen(DSA *ret, size_t bits, size_t qbits,
	const EVP_MD *evpmd, const unsigned char *seed_in, size_t seed_len,
	unsigned char *seed_out,
	int *counter_ret, unsigned long *h_ret, BN_GENCB *cb);
+1 −1
Changes for crypto/dsa/dsa_pmeth.c: 1 added line, 1 removed line.
Original line number Diff line number Diff line
@@ -252,7 +252,7 @@ static int pkey_dsa_paramgen(EVP_PKEY_CTX *ctx, EVP_PKEY *pkey)
	if (!dsa)
		return 0;
	ret = dsa_builtin_paramgen(dsa, dctx->nbits, dctx->qbits, dctx->pmd,
	                           NULL, 0, NULL, NULL, pcb);
	                           NULL, 0, NULL, NULL, NULL, pcb);
	if (ret)
		EVP_PKEY_assign_DSA(pkey, dsa);
	else