diff options
author | Jon Spillett <jon.spillett@oracle.com> | 2021-05-06 11:55:42 +1000 |
---|---|---|
committer | Tomas Mraz <tomas@openssl.org> | 2021-06-01 12:16:27 +0200 |
commit | e3c7595521c88579b9eaf02fc11025a2ecdb6ad5 (patch) | |
tree | 6f85ad7aef56c4ea303baf65ab995b7b05d2583f | |
parent | 169eca602c67f37abf0a44e1605998d5e7f04fa6 (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)
-rw-r--r-- | providers/implementations/encode_decode/decode_der2key.c | 2 | ||||
-rw-r--r-- | providers/implementations/encode_decode/encode_key2any.c | 3 |
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; } |