diff options
| author | jsing <> | 2018-06-10 14:39:49 +0000 |
|---|---|---|
| committer | jsing <> | 2018-06-10 14:39:49 +0000 |
| commit | ac5223be7f036d3e15076a46df72cc522bda4fb0 (patch) | |
| tree | 1b6602c70d5af4fec07a299bf2db61557c8d6455 /src/lib | |
| parent | f364185390ebfcad9c176cfd34bb3ef61c9ef2f0 (diff) | |
| download | openbsd-ac5223be7f036d3e15076a46df72cc522bda4fb0.tar.gz openbsd-ac5223be7f036d3e15076a46df72cc522bda4fb0.tar.bz2 openbsd-ac5223be7f036d3e15076a46df72cc522bda4fb0.zip | |
Remove a handrolled GOST_le2bn().
From Dmitry Eremin-Solenikov <dbaryshkov at gmail dot com>.
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/libcrypto/gost/gostr341001_ameth.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/src/lib/libcrypto/gost/gostr341001_ameth.c b/src/lib/libcrypto/gost/gostr341001_ameth.c index ed0b949d9d..086e371057 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.12 2018/05/01 19:01:28 tb Exp $ */ | 1 | /* $OpenBSD: gostr341001_ameth.c,v 1.13 2018/06/10 14:39:49 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 |
| @@ -421,21 +421,17 @@ priv_decode_gost01(EVP_PKEY *pk, PKCS8_PRIV_KEY_INFO *p8inf) | |||
| 421 | p = pkey_buf; | 421 | p = pkey_buf; |
| 422 | if (V_ASN1_OCTET_STRING == *p) { | 422 | if (V_ASN1_OCTET_STRING == *p) { |
| 423 | /* New format - Little endian octet string */ | 423 | /* New format - Little endian octet string */ |
| 424 | unsigned char rev_buf[32]; | ||
| 425 | int i; | ||
| 426 | ASN1_OCTET_STRING *s = | 424 | ASN1_OCTET_STRING *s = |
| 427 | d2i_ASN1_OCTET_STRING(NULL, &p, priv_len); | 425 | d2i_ASN1_OCTET_STRING(NULL, &p, priv_len); |
| 428 | 426 | ||
| 429 | if (s == NULL || s->length != 32) { | 427 | if (s == NULL) { |
| 430 | GOSTerror(EVP_R_DECODE_ERROR); | 428 | GOSTerror(EVP_R_DECODE_ERROR); |
| 431 | ASN1_STRING_free(s); | 429 | ASN1_STRING_free(s); |
| 432 | return 0; | 430 | return 0; |
| 433 | } | 431 | } |
| 434 | for (i = 0; i < 32; i++) { | 432 | |
| 435 | rev_buf[31 - i] = s->data[i]; | 433 | pk_num = GOST_le2bn(s->data, s->length, NULL); |
| 436 | } | ||
| 437 | ASN1_STRING_free(s); | 434 | ASN1_STRING_free(s); |
| 438 | pk_num = BN_bin2bn(rev_buf, 32, NULL); | ||
| 439 | } else { | 435 | } else { |
| 440 | priv_key = d2i_ASN1_INTEGER(NULL, &p, priv_len); | 436 | priv_key = d2i_ASN1_INTEGER(NULL, &p, priv_len); |
| 441 | if (priv_key == NULL) | 437 | if (priv_key == NULL) |
