Commit df1565ed authored by Ben Kaduk's avatar Ben Kaduk Committed by Rich Salz
Browse files

GH367 follow-up, for more clarity



Signed-off-by: default avatarRich Salz <rsalz@akamai.com>
Reviewed-by: default avatarEmilia Käsper <emilia@openssl.org>
(cherry picked from commit 36ac7bc8)
parent cf633fa0
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -167,7 +167,7 @@ int dsa_builtin_paramgen(DSA *ret, size_t bits, size_t qbits,
        if (seed_len < (size_t)qsize)
            return 0;
        if (seed_len > (size_t)qsize) {
            /* Don't overflow seed local variable. */
            /* Only consume as much seed as is expected. */
            seed_len = qsize;
        }
        memcpy(seed, seed_in, seed_len);
@@ -194,13 +194,13 @@ int dsa_builtin_paramgen(DSA *ret, size_t bits, size_t qbits,

    for (;;) {
        for (;;) {              /* find q */
            int seed_is_random = seed_in == NULL;
            int use_random_seed = (seed_in == NULL);

            /* step 1 */
            if (!BN_GENCB_call(cb, 0, m++))
                goto err;

            if (seed_is_random) {
            if (use_random_seed) {
                if (RAND_bytes(seed, qsize) <= 0)
                    goto err;
            } else {
@@ -232,7 +232,7 @@ int dsa_builtin_paramgen(DSA *ret, size_t bits, size_t qbits,

            /* step 4 */
            r = BN_is_prime_fasttest_ex(q, DSS_prime_checks, ctx,
                                        seed_is_random, cb);
                                        use_random_seed, cb);
            if (r > 0)
                break;
            if (r != 0)
+1 −1
Original line number Diff line number Diff line
@@ -25,7 +25,7 @@ for use in the DSA and stores the result in B<dsa>.

B<bits> is the length of the prime p to be generated.
For lengths under 2048 bits, the length of q is 160 bits; for lengths
at least 2048, it is set to 256 bits.
greater than or equal to 2048 bits, the length of q is set to 256 bits.

If B<seed> is NULL, the primes will be generated at random.
If B<seed_len> is less than the length of q, an error is returned.