Skip to content

Commit a0498a1

Browse files
committed
jwe.c: deal with new OpenSSL behavior, provide decryption buffer length
avoid 1C80006A:Provider routines::output buffer too small, file: src/jwe.c, function: _cjose_jwe_rsa_encrypt, line: 714 Signed-off-by: Hans Zandbelt <hans.zandbelt@openidc.com>
1 parent 829b603 commit a0498a1

1 file changed

Lines changed: 9 additions & 4 deletions

File tree

src/jwe.c

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -684,11 +684,15 @@ static bool _cjose_jwe_decrypt_ek_aes_kw(_jwe_int_recipient_t *recipient, cjose_
684684
return true;
685685
}
686686

687-
static size_t _cjose_jwe_rsa_encrypt(
688-
EVP_PKEY *key, unsigned char *ciphertext, unsigned char *plaintext, int plaintext_len, int padding, cjose_err *err)
687+
static size_t _cjose_jwe_rsa_encrypt(EVP_PKEY *key,
688+
unsigned char *ciphertext,
689+
size_t ciphertext_len,
690+
unsigned char *plaintext,
691+
int plaintext_len,
692+
int padding,
693+
cjose_err *err)
689694
{
690695
EVP_PKEY_CTX *ctx = NULL;
691-
size_t ciphertext_len = 0;
692696

693697
ctx = EVP_PKEY_CTX_new_from_pkey(NULL, key, NULL);
694698
if (ctx == NULL)
@@ -769,7 +773,8 @@ static bool _cjose_jwe_encrypt_ek_rsa_padding(
769773
#endif // HAVE_RSA_PKCS1_PADDING
770774

771775
// encrypt the CEK using RSA v1.5 or OAEP padding
772-
if (_cjose_jwe_rsa_encrypt((EVP_PKEY *)jwk->keydata, recipient->enc_key.raw, jwe->cek, jwe->cek_len, padding, err)
776+
if (_cjose_jwe_rsa_encrypt((EVP_PKEY *)jwk->keydata, recipient->enc_key.raw, recipient->enc_key.raw_len, jwe->cek, jwe->cek_len,
777+
padding, err)
773778
!= recipient->enc_key.raw_len)
774779
{
775780
return false;

0 commit comments

Comments
 (0)