diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/libcrypto/gost/gostr341001.c | 59 | ||||
| -rw-r--r-- | src/lib/libcrypto/gost/gostr341001_ameth.c | 8 | ||||
| -rw-r--r-- | src/lib/libcrypto/gost/gostr341001_key.c | 8 | ||||
| -rw-r--r-- | src/lib/libcrypto/gost/gostr341001_pmeth.c | 11 | ||||
| -rw-r--r-- | src/lib/libssl/src/crypto/gost/gostr341001.c | 59 | ||||
| -rw-r--r-- | src/lib/libssl/src/crypto/gost/gostr341001_ameth.c | 8 | ||||
| -rw-r--r-- | src/lib/libssl/src/crypto/gost/gostr341001_key.c | 8 | ||||
| -rw-r--r-- | src/lib/libssl/src/crypto/gost/gostr341001_pmeth.c | 11 | 
8 files changed, 88 insertions, 84 deletions
| diff --git a/src/lib/libcrypto/gost/gostr341001.c b/src/lib/libcrypto/gost/gostr341001.c index bc553e1083..c6221e4a01 100644 --- a/src/lib/libcrypto/gost/gostr341001.c +++ b/src/lib/libcrypto/gost/gostr341001.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: gostr341001.c,v 1.3 2015/02/11 03:19:37 doug Exp $ */ | 1 | /* $OpenBSD: gostr341001.c,v 1.4 2015/02/14 06:40:04 jsing Exp $ */ | 
| 2 | /* | 2 | /* | 
| 3 | * Copyright (c) 2014 Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> | 3 | * Copyright (c) 2014 Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> | 
| 4 | * Copyright (c) 2005-2006 Cryptocom LTD | 4 | * Copyright (c) 2005-2006 Cryptocom LTD | 
| @@ -168,23 +168,22 @@ gost2001_do_sign(BIGNUM *md, GOST_KEY *eckey) | |||
| 168 | s = newsig->s; | 168 | s = newsig->s; | 
| 169 | r = newsig->r; | 169 | r = newsig->r; | 
| 170 | group = GOST_KEY_get0_group(eckey); | 170 | group = GOST_KEY_get0_group(eckey); | 
| 171 | order = BN_CTX_get(ctx); | 171 | if ((order = BN_CTX_get(ctx)) == NULL) | 
| 172 | if (order == NULL) | ||
| 173 | goto err; | 172 | goto err; | 
| 174 | if (EC_GROUP_get_order(group, order, ctx) == 0) | 173 | if (EC_GROUP_get_order(group, order, ctx) == 0) | 
| 175 | goto err; | 174 | goto err; | 
| 176 | priv_key = GOST_KEY_get0_private_key(eckey); | 175 | priv_key = GOST_KEY_get0_private_key(eckey); | 
| 177 | e = BN_CTX_get(ctx); | 176 | if ((e = BN_CTX_get(ctx)) == NULL) | 
| 178 | if (e == NULL) | ||
| 179 | goto err; | 177 | goto err; | 
| 180 | if (BN_mod(e, md, order, ctx) == 0) | 178 | if (BN_mod(e, md, order, ctx) == 0) | 
| 181 | goto err; | 179 | goto err; | 
| 182 | if (BN_is_zero(e)) | 180 | if (BN_is_zero(e)) | 
| 183 | BN_one(e); | 181 | BN_one(e); | 
| 184 | k = BN_CTX_get(ctx); | 182 | if ((k = BN_CTX_get(ctx)) == NULL) | 
| 185 | X = BN_CTX_get(ctx); | 183 | goto err; | 
| 186 | C = EC_POINT_new(group); | 184 | if ((X = BN_CTX_get(ctx)) == NULL) | 
| 187 | if (C == NULL) | 185 | goto err; | 
| 186 | if ((C = EC_POINT_new(group)) == NULL) | ||
| 188 | goto err; | 187 | goto err; | 
| 189 | do { | 188 | do { | 
| 190 | do { | 189 | do { | 
| @@ -218,15 +217,13 @@ gost2001_do_sign(BIGNUM *md, GOST_KEY *eckey) | |||
| 218 | } while (BN_is_zero(r)); | 217 | } while (BN_is_zero(r)); | 
| 219 | /* s = (r*priv_key+k*e) mod order */ | 218 | /* s = (r*priv_key+k*e) mod order */ | 
| 220 | if (tmp == NULL) { | 219 | if (tmp == NULL) { | 
| 221 | tmp = BN_CTX_get(ctx); | 220 | if ((tmp = BN_CTX_get(ctx)) == NULL) | 
| 222 | if (tmp == NULL) | ||
| 223 | goto err; | 221 | goto err; | 
| 224 | } | 222 | } | 
| 225 | if (BN_mod_mul(tmp, priv_key, r, order, ctx) == 0) | 223 | if (BN_mod_mul(tmp, priv_key, r, order, ctx) == 0) | 
| 226 | goto err; | 224 | goto err; | 
| 227 | if (tmp2 == NULL) { | 225 | if (tmp2 == NULL) { | 
| 228 | tmp2 = BN_CTX_get(ctx); | 226 | if ((tmp2 = BN_CTX_get(ctx)) == NULL) | 
| 229 | if (tmp2 == NULL) | ||
| 230 | goto err; | 227 | goto err; | 
| 231 | } | 228 | } | 
| 232 | if (BN_mod_mul(tmp2, k, e, order, ctx) == 0) | 229 | if (BN_mod_mul(tmp2, k, e, order, ctx) == 0) | 
| @@ -264,15 +261,21 @@ gost2001_do_verify(BIGNUM *md, ECDSA_SIG *sig, GOST_KEY *ec) | |||
| 264 | if (ctx == NULL) | 261 | if (ctx == NULL) | 
| 265 | goto err; | 262 | goto err; | 
| 266 | BN_CTX_start(ctx); | 263 | BN_CTX_start(ctx); | 
| 267 | order = BN_CTX_get(ctx); | 264 | if ((order = BN_CTX_get(ctx)) == NULL) | 
| 268 | e = BN_CTX_get(ctx); | 265 | goto err; | 
| 269 | z1 = BN_CTX_get(ctx); | 266 | if ((e = BN_CTX_get(ctx)) == NULL) | 
| 270 | z2 = BN_CTX_get(ctx); | 267 | goto err; | 
| 271 | tmp = BN_CTX_get(ctx); | 268 | if ((z1 = BN_CTX_get(ctx)) == NULL) | 
| 272 | X = BN_CTX_get(ctx); | 269 | goto err; | 
| 273 | R = BN_CTX_get(ctx); | 270 | if ((z2 = BN_CTX_get(ctx)) == NULL) | 
| 274 | v = BN_CTX_get(ctx); | 271 | goto err; | 
| 275 | if (v == NULL) | 272 | if ((tmp = BN_CTX_get(ctx)) == NULL) | 
| 273 | goto err; | ||
| 274 | if ((X = BN_CTX_get(ctx)) == NULL) | ||
| 275 | goto err; | ||
| 276 | if ((R = BN_CTX_get(ctx)) == NULL) | ||
| 277 | goto err; | ||
| 278 | if ((v = BN_CTX_get(ctx)) == NULL) | ||
| 276 | goto err; | 279 | goto err; | 
| 277 | 280 | ||
| 278 | if (EC_GROUP_get_order(group, order, ctx) == 0) | 281 | if (EC_GROUP_get_order(group, order, ctx) == 0) | 
| @@ -289,8 +292,7 @@ gost2001_do_verify(BIGNUM *md, ECDSA_SIG *sig, GOST_KEY *ec) | |||
| 289 | goto err; | 292 | goto err; | 
| 290 | if (BN_is_zero(e)) | 293 | if (BN_is_zero(e)) | 
| 291 | BN_one(e); | 294 | BN_one(e); | 
| 292 | v = BN_mod_inverse(v, e, order, ctx); | 295 | if ((v = BN_mod_inverse(v, e, order, ctx)) == NULL) | 
| 293 | if (v == NULL) | ||
| 294 | goto err; | 296 | goto err; | 
| 295 | if (BN_mod_mul(z1, sig->s, v, order, ctx) == 0) | 297 | if (BN_mod_mul(z1, sig->s, v, order, ctx) == 0) | 
| 296 | goto err; | 298 | goto err; | 
| @@ -298,8 +300,7 @@ gost2001_do_verify(BIGNUM *md, ECDSA_SIG *sig, GOST_KEY *ec) | |||
| 298 | goto err; | 300 | goto err; | 
| 299 | if (BN_mod_mul(z2, tmp, v, order, ctx) == 0) | 301 | if (BN_mod_mul(z2, tmp, v, order, ctx) == 0) | 
| 300 | goto err; | 302 | goto err; | 
| 301 | C = EC_POINT_new(group); | 303 | if ((C = EC_POINT_new(group)) == NULL) | 
| 302 | if (C == NULL) | ||
| 303 | goto err; | 304 | goto err; | 
| 304 | if (EC_POINT_mul(group, C, z1, pub_key, z2, ctx) == 0) { | 305 | if (EC_POINT_mul(group, C, z1, pub_key, z2, ctx) == 0) { | 
| 305 | GOSTerr(GOST_F_GOST2001_DO_VERIFY, ERR_R_EC_LIB); | 306 | GOSTerr(GOST_F_GOST2001_DO_VERIFY, ERR_R_EC_LIB); | 
| @@ -345,9 +346,9 @@ VKO_compute_key(BIGNUM *X, BIGNUM *Y, const GOST_KEY *pkey, GOST_KEY *priv_key, | |||
| 345 | if (ctx == NULL) | 346 | if (ctx == NULL) | 
| 346 | goto err; | 347 | goto err; | 
| 347 | BN_CTX_start(ctx); | 348 | BN_CTX_start(ctx); | 
| 348 | p = BN_CTX_get(ctx); | 349 | if ((p = BN_CTX_get(ctx)) == NULL) | 
| 349 | order = BN_CTX_get(ctx); | 350 | goto err; | 
| 350 | if (order == NULL) | 351 | if ((order = BN_CTX_get(ctx)) == NULL) | 
| 351 | goto err; | 352 | goto err; | 
| 352 | if (EC_GROUP_get_order(group, order, ctx) == 0) | 353 | if (EC_GROUP_get_order(group, order, ctx) == 0) | 
| 353 | goto err; | 354 | goto err; | 
| diff --git a/src/lib/libcrypto/gost/gostr341001_ameth.c b/src/lib/libcrypto/gost/gostr341001_ameth.c index 45ddd44e42..3153d2f2eb 100644 --- a/src/lib/libcrypto/gost/gostr341001_ameth.c +++ b/src/lib/libcrypto/gost/gostr341001_ameth.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: gostr341001_ameth.c,v 1.8 2015/02/11 04:05:14 beck Exp $ */ | 1 | /* $OpenBSD: gostr341001_ameth.c,v 1.9 2015/02/14 06:40:04 jsing Exp $ */ | 
| 2 | /* | 2 | /* | 
| 3 | * Copyright (c) 2014 Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> | 3 | * Copyright (c) 2014 Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> | 
| 4 | * Copyright (c) 2005-2006 Cryptocom LTD | 4 | * Copyright (c) 2005-2006 Cryptocom LTD | 
| @@ -347,9 +347,9 @@ pub_print_gost01(BIO *out, const EVP_PKEY *pkey, int indent, ASN1_PCTX *pctx) | |||
| 347 | return 0; | 347 | return 0; | 
| 348 | } | 348 | } | 
| 349 | BN_CTX_start(ctx); | 349 | BN_CTX_start(ctx); | 
| 350 | X = BN_CTX_get(ctx); | 350 | if ((X = BN_CTX_get(ctx)) == NULL) | 
| 351 | Y = BN_CTX_get(ctx); | 351 | goto err; | 
| 352 | if (X == NULL || Y == NULL) | 352 | if ((Y = BN_CTX_get(ctx)) == NULL) | 
| 353 | goto err; | 353 | goto err; | 
| 354 | pubkey = GOST_KEY_get0_public_key(pkey->pkey.gost); | 354 | pubkey = GOST_KEY_get0_public_key(pkey->pkey.gost); | 
| 355 | group = GOST_KEY_get0_group(pkey->pkey.gost); | 355 | group = GOST_KEY_get0_group(pkey->pkey.gost); | 
| diff --git a/src/lib/libcrypto/gost/gostr341001_key.c b/src/lib/libcrypto/gost/gostr341001_key.c index f00d361d3f..dbe360620a 100644 --- a/src/lib/libcrypto/gost/gostr341001_key.c +++ b/src/lib/libcrypto/gost/gostr341001_key.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: gostr341001_key.c,v 1.4 2015/02/11 03:19:37 doug Exp $ */ | 1 | /* $OpenBSD: gostr341001_key.c,v 1.5 2015/02/14 06:40:04 jsing Exp $ */ | 
| 2 | /* | 2 | /* | 
| 3 | * Copyright (c) 2014 Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> | 3 | * Copyright (c) 2014 Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> | 
| 4 | * Copyright (c) 2005-2006 Cryptocom LTD | 4 | * Copyright (c) 2005-2006 Cryptocom LTD | 
| @@ -198,9 +198,9 @@ GOST_KEY_set_public_key_affine_coordinates(GOST_KEY *key, BIGNUM *x, BIGNUM *y) | |||
| 198 | if (point == NULL) | 198 | if (point == NULL) | 
| 199 | goto err; | 199 | goto err; | 
| 200 | 200 | ||
| 201 | tx = BN_CTX_get(ctx); | 201 | if ((tx = BN_CTX_get(ctx)) == NULL) | 
| 202 | ty = BN_CTX_get(ctx); | 202 | goto err; | 
| 203 | if (ty == NULL) | 203 | if ((ty = BN_CTX_get(ctx)) == NULL) | 
| 204 | goto err; | 204 | goto err; | 
| 205 | if (EC_POINT_set_affine_coordinates_GFp(key->group, point, x, y, | 205 | if (EC_POINT_set_affine_coordinates_GFp(key->group, point, x, y, | 
| 206 | ctx) == 0) | 206 | ctx) == 0) | 
| diff --git a/src/lib/libcrypto/gost/gostr341001_pmeth.c b/src/lib/libcrypto/gost/gostr341001_pmeth.c index 0157996a40..a297587c62 100644 --- a/src/lib/libcrypto/gost/gostr341001_pmeth.c +++ b/src/lib/libcrypto/gost/gostr341001_pmeth.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: gostr341001_pmeth.c,v 1.10 2015/02/11 04:05:14 beck Exp $ */ | 1 | /* $OpenBSD: gostr341001_pmeth.c,v 1.11 2015/02/14 06:40:04 jsing Exp $ */ | 
| 2 | /* | 2 | /* | 
| 3 | * Copyright (c) 2014 Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> | 3 | * Copyright (c) 2014 Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> | 
| 4 | * Copyright (c) 2005-2006 Cryptocom LTD | 4 | * Copyright (c) 2005-2006 Cryptocom LTD | 
| @@ -324,10 +324,11 @@ gost01_VKO_key(EVP_PKEY *pub_key, EVP_PKEY *priv_key, const unsigned char *ukm, | |||
| 324 | return 0; | 324 | return 0; | 
| 325 | 325 | ||
| 326 | BN_CTX_start(ctx); | 326 | BN_CTX_start(ctx); | 
| 327 | UKM = BN_CTX_get(ctx); | 327 | if ((UKM = BN_CTX_get(ctx)) == NULL) | 
| 328 | X = BN_CTX_get(ctx); | 328 | goto err; | 
| 329 | Y = BN_CTX_get(ctx); | 329 | if ((X = BN_CTX_get(ctx)) == NULL) | 
| 330 | if (Y == NULL) | 330 | goto err; | 
| 331 | if ((Y = BN_CTX_get(ctx)) == NULL) | ||
| 331 | goto err; | 332 | goto err; | 
| 332 | 333 | ||
| 333 | GOST_le2bn(ukm, 8, UKM); | 334 | GOST_le2bn(ukm, 8, UKM); | 
| diff --git a/src/lib/libssl/src/crypto/gost/gostr341001.c b/src/lib/libssl/src/crypto/gost/gostr341001.c index bc553e1083..c6221e4a01 100644 --- a/src/lib/libssl/src/crypto/gost/gostr341001.c +++ b/src/lib/libssl/src/crypto/gost/gostr341001.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: gostr341001.c,v 1.3 2015/02/11 03:19:37 doug Exp $ */ | 1 | /* $OpenBSD: gostr341001.c,v 1.4 2015/02/14 06:40:04 jsing Exp $ */ | 
| 2 | /* | 2 | /* | 
| 3 | * Copyright (c) 2014 Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> | 3 | * Copyright (c) 2014 Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> | 
| 4 | * Copyright (c) 2005-2006 Cryptocom LTD | 4 | * Copyright (c) 2005-2006 Cryptocom LTD | 
| @@ -168,23 +168,22 @@ gost2001_do_sign(BIGNUM *md, GOST_KEY *eckey) | |||
| 168 | s = newsig->s; | 168 | s = newsig->s; | 
| 169 | r = newsig->r; | 169 | r = newsig->r; | 
| 170 | group = GOST_KEY_get0_group(eckey); | 170 | group = GOST_KEY_get0_group(eckey); | 
| 171 | order = BN_CTX_get(ctx); | 171 | if ((order = BN_CTX_get(ctx)) == NULL) | 
| 172 | if (order == NULL) | ||
| 173 | goto err; | 172 | goto err; | 
| 174 | if (EC_GROUP_get_order(group, order, ctx) == 0) | 173 | if (EC_GROUP_get_order(group, order, ctx) == 0) | 
| 175 | goto err; | 174 | goto err; | 
| 176 | priv_key = GOST_KEY_get0_private_key(eckey); | 175 | priv_key = GOST_KEY_get0_private_key(eckey); | 
| 177 | e = BN_CTX_get(ctx); | 176 | if ((e = BN_CTX_get(ctx)) == NULL) | 
| 178 | if (e == NULL) | ||
| 179 | goto err; | 177 | goto err; | 
| 180 | if (BN_mod(e, md, order, ctx) == 0) | 178 | if (BN_mod(e, md, order, ctx) == 0) | 
| 181 | goto err; | 179 | goto err; | 
| 182 | if (BN_is_zero(e)) | 180 | if (BN_is_zero(e)) | 
| 183 | BN_one(e); | 181 | BN_one(e); | 
| 184 | k = BN_CTX_get(ctx); | 182 | if ((k = BN_CTX_get(ctx)) == NULL) | 
| 185 | X = BN_CTX_get(ctx); | 183 | goto err; | 
| 186 | C = EC_POINT_new(group); | 184 | if ((X = BN_CTX_get(ctx)) == NULL) | 
| 187 | if (C == NULL) | 185 | goto err; | 
| 186 | if ((C = EC_POINT_new(group)) == NULL) | ||
| 188 | goto err; | 187 | goto err; | 
| 189 | do { | 188 | do { | 
| 190 | do { | 189 | do { | 
| @@ -218,15 +217,13 @@ gost2001_do_sign(BIGNUM *md, GOST_KEY *eckey) | |||
| 218 | } while (BN_is_zero(r)); | 217 | } while (BN_is_zero(r)); | 
| 219 | /* s = (r*priv_key+k*e) mod order */ | 218 | /* s = (r*priv_key+k*e) mod order */ | 
| 220 | if (tmp == NULL) { | 219 | if (tmp == NULL) { | 
| 221 | tmp = BN_CTX_get(ctx); | 220 | if ((tmp = BN_CTX_get(ctx)) == NULL) | 
| 222 | if (tmp == NULL) | ||
| 223 | goto err; | 221 | goto err; | 
| 224 | } | 222 | } | 
| 225 | if (BN_mod_mul(tmp, priv_key, r, order, ctx) == 0) | 223 | if (BN_mod_mul(tmp, priv_key, r, order, ctx) == 0) | 
| 226 | goto err; | 224 | goto err; | 
| 227 | if (tmp2 == NULL) { | 225 | if (tmp2 == NULL) { | 
| 228 | tmp2 = BN_CTX_get(ctx); | 226 | if ((tmp2 = BN_CTX_get(ctx)) == NULL) | 
| 229 | if (tmp2 == NULL) | ||
| 230 | goto err; | 227 | goto err; | 
| 231 | } | 228 | } | 
| 232 | if (BN_mod_mul(tmp2, k, e, order, ctx) == 0) | 229 | if (BN_mod_mul(tmp2, k, e, order, ctx) == 0) | 
| @@ -264,15 +261,21 @@ gost2001_do_verify(BIGNUM *md, ECDSA_SIG *sig, GOST_KEY *ec) | |||
| 264 | if (ctx == NULL) | 261 | if (ctx == NULL) | 
| 265 | goto err; | 262 | goto err; | 
| 266 | BN_CTX_start(ctx); | 263 | BN_CTX_start(ctx); | 
| 267 | order = BN_CTX_get(ctx); | 264 | if ((order = BN_CTX_get(ctx)) == NULL) | 
| 268 | e = BN_CTX_get(ctx); | 265 | goto err; | 
| 269 | z1 = BN_CTX_get(ctx); | 266 | if ((e = BN_CTX_get(ctx)) == NULL) | 
| 270 | z2 = BN_CTX_get(ctx); | 267 | goto err; | 
| 271 | tmp = BN_CTX_get(ctx); | 268 | if ((z1 = BN_CTX_get(ctx)) == NULL) | 
| 272 | X = BN_CTX_get(ctx); | 269 | goto err; | 
| 273 | R = BN_CTX_get(ctx); | 270 | if ((z2 = BN_CTX_get(ctx)) == NULL) | 
| 274 | v = BN_CTX_get(ctx); | 271 | goto err; | 
| 275 | if (v == NULL) | 272 | if ((tmp = BN_CTX_get(ctx)) == NULL) | 
| 273 | goto err; | ||
| 274 | if ((X = BN_CTX_get(ctx)) == NULL) | ||
| 275 | goto err; | ||
| 276 | if ((R = BN_CTX_get(ctx)) == NULL) | ||
| 277 | goto err; | ||
| 278 | if ((v = BN_CTX_get(ctx)) == NULL) | ||
| 276 | goto err; | 279 | goto err; | 
| 277 | 280 | ||
| 278 | if (EC_GROUP_get_order(group, order, ctx) == 0) | 281 | if (EC_GROUP_get_order(group, order, ctx) == 0) | 
| @@ -289,8 +292,7 @@ gost2001_do_verify(BIGNUM *md, ECDSA_SIG *sig, GOST_KEY *ec) | |||
| 289 | goto err; | 292 | goto err; | 
| 290 | if (BN_is_zero(e)) | 293 | if (BN_is_zero(e)) | 
| 291 | BN_one(e); | 294 | BN_one(e); | 
| 292 | v = BN_mod_inverse(v, e, order, ctx); | 295 | if ((v = BN_mod_inverse(v, e, order, ctx)) == NULL) | 
| 293 | if (v == NULL) | ||
| 294 | goto err; | 296 | goto err; | 
| 295 | if (BN_mod_mul(z1, sig->s, v, order, ctx) == 0) | 297 | if (BN_mod_mul(z1, sig->s, v, order, ctx) == 0) | 
| 296 | goto err; | 298 | goto err; | 
| @@ -298,8 +300,7 @@ gost2001_do_verify(BIGNUM *md, ECDSA_SIG *sig, GOST_KEY *ec) | |||
| 298 | goto err; | 300 | goto err; | 
| 299 | if (BN_mod_mul(z2, tmp, v, order, ctx) == 0) | 301 | if (BN_mod_mul(z2, tmp, v, order, ctx) == 0) | 
| 300 | goto err; | 302 | goto err; | 
| 301 | C = EC_POINT_new(group); | 303 | if ((C = EC_POINT_new(group)) == NULL) | 
| 302 | if (C == NULL) | ||
| 303 | goto err; | 304 | goto err; | 
| 304 | if (EC_POINT_mul(group, C, z1, pub_key, z2, ctx) == 0) { | 305 | if (EC_POINT_mul(group, C, z1, pub_key, z2, ctx) == 0) { | 
| 305 | GOSTerr(GOST_F_GOST2001_DO_VERIFY, ERR_R_EC_LIB); | 306 | GOSTerr(GOST_F_GOST2001_DO_VERIFY, ERR_R_EC_LIB); | 
| @@ -345,9 +346,9 @@ VKO_compute_key(BIGNUM *X, BIGNUM *Y, const GOST_KEY *pkey, GOST_KEY *priv_key, | |||
| 345 | if (ctx == NULL) | 346 | if (ctx == NULL) | 
| 346 | goto err; | 347 | goto err; | 
| 347 | BN_CTX_start(ctx); | 348 | BN_CTX_start(ctx); | 
| 348 | p = BN_CTX_get(ctx); | 349 | if ((p = BN_CTX_get(ctx)) == NULL) | 
| 349 | order = BN_CTX_get(ctx); | 350 | goto err; | 
| 350 | if (order == NULL) | 351 | if ((order = BN_CTX_get(ctx)) == NULL) | 
| 351 | goto err; | 352 | goto err; | 
| 352 | if (EC_GROUP_get_order(group, order, ctx) == 0) | 353 | if (EC_GROUP_get_order(group, order, ctx) == 0) | 
| 353 | goto err; | 354 | goto err; | 
| diff --git a/src/lib/libssl/src/crypto/gost/gostr341001_ameth.c b/src/lib/libssl/src/crypto/gost/gostr341001_ameth.c index 45ddd44e42..3153d2f2eb 100644 --- a/src/lib/libssl/src/crypto/gost/gostr341001_ameth.c +++ b/src/lib/libssl/src/crypto/gost/gostr341001_ameth.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: gostr341001_ameth.c,v 1.8 2015/02/11 04:05:14 beck Exp $ */ | 1 | /* $OpenBSD: gostr341001_ameth.c,v 1.9 2015/02/14 06:40:04 jsing Exp $ */ | 
| 2 | /* | 2 | /* | 
| 3 | * Copyright (c) 2014 Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> | 3 | * Copyright (c) 2014 Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> | 
| 4 | * Copyright (c) 2005-2006 Cryptocom LTD | 4 | * Copyright (c) 2005-2006 Cryptocom LTD | 
| @@ -347,9 +347,9 @@ pub_print_gost01(BIO *out, const EVP_PKEY *pkey, int indent, ASN1_PCTX *pctx) | |||
| 347 | return 0; | 347 | return 0; | 
| 348 | } | 348 | } | 
| 349 | BN_CTX_start(ctx); | 349 | BN_CTX_start(ctx); | 
| 350 | X = BN_CTX_get(ctx); | 350 | if ((X = BN_CTX_get(ctx)) == NULL) | 
| 351 | Y = BN_CTX_get(ctx); | 351 | goto err; | 
| 352 | if (X == NULL || Y == NULL) | 352 | if ((Y = BN_CTX_get(ctx)) == NULL) | 
| 353 | goto err; | 353 | goto err; | 
| 354 | pubkey = GOST_KEY_get0_public_key(pkey->pkey.gost); | 354 | pubkey = GOST_KEY_get0_public_key(pkey->pkey.gost); | 
| 355 | group = GOST_KEY_get0_group(pkey->pkey.gost); | 355 | group = GOST_KEY_get0_group(pkey->pkey.gost); | 
| diff --git a/src/lib/libssl/src/crypto/gost/gostr341001_key.c b/src/lib/libssl/src/crypto/gost/gostr341001_key.c index f00d361d3f..dbe360620a 100644 --- a/src/lib/libssl/src/crypto/gost/gostr341001_key.c +++ b/src/lib/libssl/src/crypto/gost/gostr341001_key.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: gostr341001_key.c,v 1.4 2015/02/11 03:19:37 doug Exp $ */ | 1 | /* $OpenBSD: gostr341001_key.c,v 1.5 2015/02/14 06:40:04 jsing Exp $ */ | 
| 2 | /* | 2 | /* | 
| 3 | * Copyright (c) 2014 Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> | 3 | * Copyright (c) 2014 Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> | 
| 4 | * Copyright (c) 2005-2006 Cryptocom LTD | 4 | * Copyright (c) 2005-2006 Cryptocom LTD | 
| @@ -198,9 +198,9 @@ GOST_KEY_set_public_key_affine_coordinates(GOST_KEY *key, BIGNUM *x, BIGNUM *y) | |||
| 198 | if (point == NULL) | 198 | if (point == NULL) | 
| 199 | goto err; | 199 | goto err; | 
| 200 | 200 | ||
| 201 | tx = BN_CTX_get(ctx); | 201 | if ((tx = BN_CTX_get(ctx)) == NULL) | 
| 202 | ty = BN_CTX_get(ctx); | 202 | goto err; | 
| 203 | if (ty == NULL) | 203 | if ((ty = BN_CTX_get(ctx)) == NULL) | 
| 204 | goto err; | 204 | goto err; | 
| 205 | if (EC_POINT_set_affine_coordinates_GFp(key->group, point, x, y, | 205 | if (EC_POINT_set_affine_coordinates_GFp(key->group, point, x, y, | 
| 206 | ctx) == 0) | 206 | ctx) == 0) | 
| diff --git a/src/lib/libssl/src/crypto/gost/gostr341001_pmeth.c b/src/lib/libssl/src/crypto/gost/gostr341001_pmeth.c index 0157996a40..a297587c62 100644 --- a/src/lib/libssl/src/crypto/gost/gostr341001_pmeth.c +++ b/src/lib/libssl/src/crypto/gost/gostr341001_pmeth.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: gostr341001_pmeth.c,v 1.10 2015/02/11 04:05:14 beck Exp $ */ | 1 | /* $OpenBSD: gostr341001_pmeth.c,v 1.11 2015/02/14 06:40:04 jsing Exp $ */ | 
| 2 | /* | 2 | /* | 
| 3 | * Copyright (c) 2014 Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> | 3 | * Copyright (c) 2014 Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> | 
| 4 | * Copyright (c) 2005-2006 Cryptocom LTD | 4 | * Copyright (c) 2005-2006 Cryptocom LTD | 
| @@ -324,10 +324,11 @@ gost01_VKO_key(EVP_PKEY *pub_key, EVP_PKEY *priv_key, const unsigned char *ukm, | |||
| 324 | return 0; | 324 | return 0; | 
| 325 | 325 | ||
| 326 | BN_CTX_start(ctx); | 326 | BN_CTX_start(ctx); | 
| 327 | UKM = BN_CTX_get(ctx); | 327 | if ((UKM = BN_CTX_get(ctx)) == NULL) | 
| 328 | X = BN_CTX_get(ctx); | 328 | goto err; | 
| 329 | Y = BN_CTX_get(ctx); | 329 | if ((X = BN_CTX_get(ctx)) == NULL) | 
| 330 | if (Y == NULL) | 330 | goto err; | 
| 331 | if ((Y = BN_CTX_get(ctx)) == NULL) | ||
| 331 | goto err; | 332 | goto err; | 
| 332 | 333 | ||
| 333 | GOST_le2bn(ukm, 8, UKM); | 334 | GOST_le2bn(ukm, 8, UKM); | 
