summaryrefslogtreecommitdiffstats
path: root/providers/implementations/encode_decode
diff options
context:
space:
mode:
authorJon Spillett <jon.spillett@oracle.com>2021-05-06 11:55:42 +1000
committerTomas Mraz <tomas@openssl.org>2021-06-01 12:16:27 +0200
commite3c7595521c88579b9eaf02fc11025a2ecdb6ad5 (patch)
tree6f85ad7aef56c4ea303baf65ab995b7b05d2583f /providers/implementations/encode_decode
parent169eca602c67f37abf0a44e1605998d5e7f04fa6 (diff)
Fix up encoder/decoder issues caused by not passing a library context to the PKCS8 encrypt/decrypt
Reviewed-by: Shane Lontis <shane.lontis@oracle.com> Reviewed-by: Paul Dale <pauli@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/14587)
Diffstat (limited to 'providers/implementations/encode_decode')
-rw-r--r--providers/implementations/encode_decode/decode_der2key.c2
-rw-r--r--providers/implementations/encode_decode/encode_key2any.c3
2 files changed, 2 insertions, 3 deletions
diff --git a/providers/implementations/encode_decode/decode_der2key.c b/providers/implementations/encode_decode/decode_der2key.c
index 01c050ccb0..b3fd87ca05 100644
--- a/providers/implementations/encode_decode/decode_der2key.c
+++ b/providers/implementations/encode_decode/decode_der2key.c
@@ -134,7 +134,7 @@ static void *der2key_decode_p8(const unsigned char **input_der,
if (!pw_cb(pbuf, sizeof(pbuf), &plen, NULL, pw_cbarg))
ERR_raise(ERR_LIB_PROV, PROV_R_UNABLE_TO_GET_PASSPHRASE);
else
- p8inf = PKCS8_decrypt(p8, pbuf, plen);
+ p8inf = PKCS8_decrypt_ex(p8, pbuf, plen, PROV_LIBCTX_OF(ctx->provctx), NULL);
if (p8inf == NULL)
ctx->flag_fatal = 1;
X509_SIG_free(p8);
diff --git a/providers/implementations/encode_decode/encode_key2any.c b/providers/implementations/encode_decode/encode_key2any.c
index cd2c3f8daa..f95c785522 100644
--- a/providers/implementations/encode_decode/encode_key2any.c
+++ b/providers/implementations/encode_decode/encode_key2any.c
@@ -117,8 +117,7 @@ static X509_SIG *p8info_to_encp8(PKCS8_PRIV_KEY_INFO *p8info,
return NULL;
}
/* First argument == -1 means "standard" */
- p8 = PKCS8_encrypt_ex(-1, ctx->cipher, kstr, klen, NULL, 0, 0, p8info,
- libctx, NULL);
+ p8 = PKCS8_encrypt_ex(-1, ctx->cipher, kstr, klen, NULL, 0, 0, p8info, libctx, NULL);
OPENSSL_cleanse(kstr, klen);
return p8;
}