Import OpenSSL1.1.1k
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2004-2019 The OpenSSL Project Authors. All Rights Reserved.
|
||||
* Copyright 2004-2021 The OpenSSL Project Authors. All Rights Reserved.
|
||||
* Copyright (c) 2004, EdelKey Project. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the OpenSSL license (the "License"). You may not use
|
||||
@@ -177,6 +177,7 @@ BIGNUM *SRP_Calc_client_key(const BIGNUM *N, const BIGNUM *B, const BIGNUM *g,
|
||||
const BIGNUM *x, const BIGNUM *a, const BIGNUM *u)
|
||||
{
|
||||
BIGNUM *tmp = NULL, *tmp2 = NULL, *tmp3 = NULL, *k = NULL, *K = NULL;
|
||||
BIGNUM *xtmp = NULL;
|
||||
BN_CTX *bn_ctx;
|
||||
|
||||
if (u == NULL || B == NULL || N == NULL || g == NULL || x == NULL
|
||||
@@ -185,10 +186,13 @@ BIGNUM *SRP_Calc_client_key(const BIGNUM *N, const BIGNUM *B, const BIGNUM *g,
|
||||
|
||||
if ((tmp = BN_new()) == NULL ||
|
||||
(tmp2 = BN_new()) == NULL ||
|
||||
(tmp3 = BN_new()) == NULL)
|
||||
(tmp3 = BN_new()) == NULL ||
|
||||
(xtmp = BN_new()) == NULL)
|
||||
goto err;
|
||||
|
||||
if (!BN_mod_exp(tmp, g, x, N, bn_ctx))
|
||||
BN_with_flags(xtmp, x, BN_FLG_CONSTTIME);
|
||||
BN_set_flags(tmp, BN_FLG_CONSTTIME);
|
||||
if (!BN_mod_exp(tmp, g, xtmp, N, bn_ctx))
|
||||
goto err;
|
||||
if ((k = srp_Calc_k(N, g)) == NULL)
|
||||
goto err;
|
||||
@@ -196,7 +200,7 @@ BIGNUM *SRP_Calc_client_key(const BIGNUM *N, const BIGNUM *B, const BIGNUM *g,
|
||||
goto err;
|
||||
if (!BN_mod_sub(tmp, B, tmp2, N, bn_ctx))
|
||||
goto err;
|
||||
if (!BN_mul(tmp3, u, x, bn_ctx))
|
||||
if (!BN_mul(tmp3, u, xtmp, bn_ctx))
|
||||
goto err;
|
||||
if (!BN_add(tmp2, a, tmp3))
|
||||
goto err;
|
||||
@@ -208,6 +212,7 @@ BIGNUM *SRP_Calc_client_key(const BIGNUM *N, const BIGNUM *B, const BIGNUM *g,
|
||||
|
||||
err:
|
||||
BN_CTX_free(bn_ctx);
|
||||
BN_free(xtmp);
|
||||
BN_clear_free(tmp);
|
||||
BN_clear_free(tmp2);
|
||||
BN_clear_free(tmp3);
|
||||
|
||||
Reference in New Issue
Block a user