Repository navigation
Conversation
|
dgarske
force-pushed
the
rtl8735b_ecb_wrap
branch
from
November 6, 2026 23:20
5a95202 to
46d016e
Compare
dgarske
force-pushed
the
rtl8735b_ecb_wrap
branch
from
November 9, 2026 22:58
46d016e to
93dd1e8
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
The RTL8735B HUK ECDSA sign path (
wc_Rtl8735b_EccKeyviaecc_key->devCtx) only accepted an AES-GCM-wrapped scalar, so a blob wrapped with AES-ECB under the HUK, the layout STM32 DHUK uses forwc_ecc_import_wrapped_private(), could not be signed with. It now treats a key withiv,ivSz,tagandtagSzall NULL/0 as ECB-wrapped (block-padded, scalar in the firstplainLenbytes), rejects a partial IV/tag set, and leaves GCM unchanged and recommended.The HUK device also implements the key-store interface (
WOLF_CRYPTO_CB_KEYSTORE):wc_KeyStore_ImportWrapped()unwraps an AES key wrapped under the HUK (RFC 3394, or raw ECB like STM32 DHUK blobs) into a hardware key-storage slot, and anAesmade withwc_AesInit_Id()then runs GCM, ECB, CBC or CTR from that slot, so the key is in RAM only during the import.Testing
Tested on an RTL8735B EVB with both ECC wrap formats and both AES key-store formats (AES-128 and AES-256), using the example in wolfSSL/wolfssl-examples#655. Host self-test cases cover the format checks, key references, slot bookkeeping and import checks, and the rtl8735b CI workflow gains a key-store build.
Checklist