diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/libcrypto/gost/gostr341001_ameth.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/lib/libcrypto/gost/gostr341001_ameth.c b/src/lib/libcrypto/gost/gostr341001_ameth.c index 9098797ade..fc3bce412a 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.21 2023/12/28 21:49:07 tb Exp $ */ | 1 | /* $OpenBSD: gostr341001_ameth.c,v 1.22 2023/12/28 21:53:09 tb 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 |
| @@ -207,7 +207,9 @@ pub_decode_gost01(EVP_PKEY *pk, X509_PUBKEY *pub) | |||
| 207 | if (X509_PUBKEY_get0_param(&palgobj, &pubkey_buf, &pub_len, &palg, pub) | 207 | if (X509_PUBKEY_get0_param(&palgobj, &pubkey_buf, &pub_len, &palg, pub) |
| 208 | == 0) | 208 | == 0) |
| 209 | return 0; | 209 | return 0; |
| 210 | (void)EVP_PKEY_assign_GOST(pk, NULL); | 210 | /* Called for the side effect of freeing pk->pkey. */ |
| 211 | if (!EVP_PKEY_set_type(pk, EVP_PKEY_GOSTR01)) | ||
| 212 | return 0; | ||
| 211 | X509_ALGOR_get0(NULL, &ptype, (const void **)&pval, palg); | 213 | X509_ALGOR_get0(NULL, &ptype, (const void **)&pval, palg); |
| 212 | if (ptype != V_ASN1_SEQUENCE) { | 214 | if (ptype != V_ASN1_SEQUENCE) { |
| 213 | GOSTerror(GOST_R_BAD_KEY_PARAMETERS_FORMAT); | 215 | GOSTerror(GOST_R_BAD_KEY_PARAMETERS_FORMAT); |
| @@ -420,7 +422,9 @@ priv_decode_gost01(EVP_PKEY *pk, const PKCS8_PRIV_KEY_INFO *p8inf) | |||
| 420 | GOSTerror(GOST_R_BAD_KEY_PARAMETERS_FORMAT); | 422 | GOSTerror(GOST_R_BAD_KEY_PARAMETERS_FORMAT); |
| 421 | return 0; | 423 | return 0; |
| 422 | } | 424 | } |
| 423 | (void)EVP_PKEY_assign_GOST(pk, NULL); | 425 | /* Called for the side effect of freeing pk->pkey. */ |
| 426 | if (!EVP_PKEY_set_type(pk, EVP_PKEY_GOSTR01)) | ||
| 427 | return 0; | ||
| 424 | X509_ALGOR_get0(NULL, &ptype, (const void **)&pval, palg); | 428 | X509_ALGOR_get0(NULL, &ptype, (const void **)&pval, palg); |
| 425 | if (ptype != V_ASN1_SEQUENCE) { | 429 | if (ptype != V_ASN1_SEQUENCE) { |
| 426 | GOSTerror(GOST_R_BAD_KEY_PARAMETERS_FORMAT); | 430 | GOSTerror(GOST_R_BAD_KEY_PARAMETERS_FORMAT); |
