From fff6f3fc328e6e6fc7b78d252f742c5c65c57eee Mon Sep 17 00:00:00 2001 From: Marco Oliverio Date: Mon, 13 Apr 2026 19:15:25 +0200 Subject: [PATCH] se050: fix RSA Encrypt with only pubkey setting keyId --- wolfcrypt/src/port/nxp/se050_port.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/wolfcrypt/src/port/nxp/se050_port.c b/wolfcrypt/src/port/nxp/se050_port.c index 1bf08224f2..598e2e2586 100644 --- a/wolfcrypt/src/port/nxp/se050_port.c +++ b/wolfcrypt/src/port/nxp/se050_port.c @@ -1710,8 +1710,17 @@ int se050_rsa_public_encrypt(const byte* in, word32 inLen, byte* out, } if (status == kStatus_SSS_Success) { - key->keyId = keyId; - key->keyIdSet = 1; + if (keyCreated) { + /* Public-key encrypt imported a temporary public object only. + * Do not bind that SE050 object to the caller's RsaKey or later + * private-key operations will try to reuse a public handle. */ + sss_key_store_erase_key(&host_keystore, &newKey); + sss_key_object_free(&newKey); + } + else { + key->keyId = keyId; + key->keyIdSet = 1; + } ret = encSz; } else {