mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-27 10:57:34 +09:00
re-introduce old nss im too tired for this
This commit is contained in:
parent
3c46be320d
commit
3a838106b9
2871 changed files with 1374431 additions and 1762417 deletions
|
|
@ -342,7 +342,7 @@ addToSeed(const SECItem *seed,
|
|||
CHECK_MPI_OK(mp_init(&modulus));
|
||||
SECITEM_TO_MPINT(*seed, &s); /* s = seed */
|
||||
/* seed += addend */
|
||||
if (sizeof(addend) < sizeof(mp_digit) || addend < MP_DIGIT_MAX) {
|
||||
if (addend < MP_DIGIT_MAX) {
|
||||
CHECK_MPI_OK(mp_add_d(&s, (mp_digit)addend, &s));
|
||||
} else {
|
||||
CHECK_MPI_OK(mp_init(&tmp));
|
||||
|
|
@ -711,7 +711,7 @@ cleanup:
|
|||
if (rv == SECFailure) {
|
||||
mp_zero(prime);
|
||||
if (prime_seed->data) {
|
||||
SECITEM_ZfreeItem(prime_seed, PR_FALSE);
|
||||
SECITEM_FreeItem(prime_seed, PR_FALSE);
|
||||
}
|
||||
*prime_gen_counter = 0;
|
||||
}
|
||||
|
|
@ -867,7 +867,7 @@ cleanup:
|
|||
if (rv == SECFailure) {
|
||||
mp_zero(prime);
|
||||
if (prime_seed->data) {
|
||||
SECITEM_ZfreeItem(prime_seed, PR_FALSE);
|
||||
SECITEM_FreeItem(prime_seed, PR_FALSE);
|
||||
}
|
||||
*prime_gen_counter = 0;
|
||||
}
|
||||
|
|
@ -905,7 +905,6 @@ findQfromSeed(
|
|||
*typePtr = FIPS186_1_TYPE;
|
||||
return SECSuccess;
|
||||
}
|
||||
mp_zero(Q_);
|
||||
return SECFailure;
|
||||
}
|
||||
/* 1024 could use FIPS186_1 or FIPS186_3 algorithms, we need to try
|
||||
|
|
@ -955,23 +954,21 @@ findQfromSeed(
|
|||
if ((offset < 0) ||
|
||||
(PORT_Memcmp(&seed->data[offset], qseed.data, qseed.len) != 0)) {
|
||||
/* we found q, but the seeds don't match. This isn't an
|
||||
* accident, someone has been tweeking with the seeds, just
|
||||
* fail a this point. */
|
||||
* accident, someone has been tweeking with the seeds, just
|
||||
* fail a this point. */
|
||||
SECITEM_FreeItem(&qseed, PR_FALSE);
|
||||
mp_zero(Q_);
|
||||
return SECFailure;
|
||||
}
|
||||
*qseed_len = qseed.len;
|
||||
*hashtypePtr = hashtype;
|
||||
*typePtr = FIPS186_3_ST_TYPE;
|
||||
*qgen_counter = count;
|
||||
SECITEM_ZfreeItem(&qseed, PR_FALSE);
|
||||
SECITEM_FreeItem(&qseed, PR_FALSE);
|
||||
return SECSuccess;
|
||||
}
|
||||
SECITEM_ZfreeItem(&qseed, PR_FALSE);
|
||||
SECITEM_FreeItem(&qseed, PR_FALSE);
|
||||
}
|
||||
/* no hash algorithms found which match seed to Q, fail */
|
||||
mp_zero(Q_);
|
||||
return SECFailure;
|
||||
}
|
||||
|
||||
|
|
@ -1072,7 +1069,6 @@ makePfromQandSeed(
|
|||
CHECK_MPI_OK(mp_sub_d(&c, 1, &c)); /* c -= 1 */
|
||||
CHECK_MPI_OK(mp_sub(&X, &c, P)); /* P = X - c */
|
||||
cleanup:
|
||||
PORT_Memset(V_j, 0, sizeof V_j);
|
||||
mp_clear(&W);
|
||||
mp_clear(&X);
|
||||
mp_clear(&c);
|
||||
|
|
@ -1081,12 +1077,8 @@ cleanup:
|
|||
mp_clear(&tmp);
|
||||
if (err) {
|
||||
MP_TO_SEC_ERROR(err);
|
||||
mp_zero(P);
|
||||
return SECFailure;
|
||||
}
|
||||
if (rv != SECSuccess) {
|
||||
mp_zero(P);
|
||||
}
|
||||
return rv;
|
||||
}
|
||||
|
||||
|
|
@ -1136,9 +1128,6 @@ cleanup:
|
|||
MP_TO_SEC_ERROR(err);
|
||||
rv = SECFailure;
|
||||
}
|
||||
if (rv != SECSuccess) {
|
||||
mp_zero(G);
|
||||
}
|
||||
return rv;
|
||||
}
|
||||
|
||||
|
|
@ -1432,7 +1421,7 @@ step_5:
|
|||
** "will give an acceptable probability of error."
|
||||
*/
|
||||
/*CHECK_SEC_OK( prm_RabinTest(&Q, &passed) );*/
|
||||
err = mpp_pprime_secure(&Q, prime_testcount_q(L, N));
|
||||
err = mpp_pprime(&Q, prime_testcount_q(L, N));
|
||||
passed = (err == MP_YES) ? SECSuccess : SECFailure;
|
||||
/* ******************************************************************
|
||||
** Step 9. (Step 5 in 186-1) "If q is not prime, goto step 5 (1 in 186-1)."
|
||||
|
|
@ -1485,7 +1474,7 @@ step_5:
|
|||
** "Perform a robust primality test on p."
|
||||
*/
|
||||
/*CHECK_SEC_OK( prm_RabinTest(&P, &passed) );*/
|
||||
err = mpp_pprime_secure(&P, prime_testcount_p(L, N));
|
||||
err = mpp_pprime(&P, prime_testcount_p(L, N));
|
||||
passed = (err == MP_YES) ? SECSuccess : SECFailure;
|
||||
/* ******************************************************************
|
||||
** Step 11.8. "If p is determined to be primed return VALID
|
||||
|
|
@ -1545,10 +1534,10 @@ generate_G:
|
|||
*pVfy = verify;
|
||||
cleanup:
|
||||
if (pseed.data) {
|
||||
SECITEM_ZfreeItem(&pseed, PR_FALSE);
|
||||
PORT_Free(pseed.data);
|
||||
}
|
||||
if (qseed.data) {
|
||||
SECITEM_ZfreeItem(&qseed, PR_FALSE);
|
||||
PORT_Free(qseed.data);
|
||||
}
|
||||
mp_clear(&P);
|
||||
mp_clear(&Q);
|
||||
|
|
@ -1569,7 +1558,7 @@ cleanup:
|
|||
}
|
||||
}
|
||||
if (hit.data) {
|
||||
SECITEM_ZfreeItem(&hit, PR_FALSE);
|
||||
SECITEM_FreeItem(&hit, PR_FALSE);
|
||||
}
|
||||
return rv;
|
||||
}
|
||||
|
|
@ -1713,9 +1702,9 @@ PQG_VerifyParams(const PQGParams *params,
|
|||
CHECK_MPI_OK(mp_mod(&P, &Q, &r));
|
||||
CHECKPARAM(mp_cmp_d(&r, 1) == 0);
|
||||
/* 5. Q is prime */
|
||||
CHECKPARAM(mpp_pprime_secure(&Q, prime_testcount_q(L, N)) == MP_YES);
|
||||
CHECKPARAM(mpp_pprime(&Q, prime_testcount_q(L, N)) == MP_YES);
|
||||
/* 6. P is prime */
|
||||
CHECKPARAM(mpp_pprime_secure(&P, prime_testcount_p(L, N)) == MP_YES);
|
||||
CHECKPARAM(mpp_pprime(&P, prime_testcount_p(L, N)) == MP_YES);
|
||||
/* Steps 7-12 are done only if the optional PQGVerify is supplied. */
|
||||
/* continue processing P */
|
||||
/* 7. counter < 4*L */
|
||||
|
|
@ -1880,7 +1869,7 @@ cleanup:
|
|||
mp_clear(&r);
|
||||
mp_clear(&h);
|
||||
if (pseed_.data) {
|
||||
SECITEM_ZfreeItem(&pseed_, PR_FALSE);
|
||||
SECITEM_FreeItem(&pseed_, PR_FALSE);
|
||||
}
|
||||
if (err) {
|
||||
MP_TO_SEC_ERROR(err);
|
||||
|
|
@ -1898,11 +1887,11 @@ PQG_DestroyParams(PQGParams *params)
|
|||
if (params == NULL)
|
||||
return;
|
||||
if (params->arena != NULL) {
|
||||
PORT_FreeArena(params->arena, PR_TRUE);
|
||||
PORT_FreeArena(params->arena, PR_FALSE); /* don't zero it */
|
||||
} else {
|
||||
SECITEM_ZfreeItem(¶ms->prime, PR_FALSE); /* don't free prime */
|
||||
SECITEM_ZfreeItem(¶ms->subPrime, PR_FALSE); /* don't free subPrime */
|
||||
SECITEM_ZfreeItem(¶ms->base, PR_FALSE); /* don't free base */
|
||||
SECITEM_FreeItem(¶ms->prime, PR_FALSE); /* don't free prime */
|
||||
SECITEM_FreeItem(¶ms->subPrime, PR_FALSE); /* don't free subPrime */
|
||||
SECITEM_FreeItem(¶ms->base, PR_FALSE); /* don't free base */
|
||||
PORT_Free(params);
|
||||
}
|
||||
}
|
||||
|
|
@ -1917,10 +1906,10 @@ PQG_DestroyVerify(PQGVerify *vfy)
|
|||
if (vfy == NULL)
|
||||
return;
|
||||
if (vfy->arena != NULL) {
|
||||
PORT_FreeArena(vfy->arena, PR_TRUE);
|
||||
PORT_FreeArena(vfy->arena, PR_FALSE); /* don't zero it */
|
||||
} else {
|
||||
SECITEM_ZfreeItem(&vfy->seed, PR_FALSE); /* don't free seed */
|
||||
SECITEM_ZfreeItem(&vfy->h, PR_FALSE); /* don't free h */
|
||||
SECITEM_FreeItem(&vfy->seed, PR_FALSE); /* don't free seed */
|
||||
SECITEM_FreeItem(&vfy->h, PR_FALSE); /* don't free h */
|
||||
PORT_Free(vfy);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue