ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
Loading...
Searching...
No Matches
ra8_ota_crypto_iface_t Struct Reference

Injected hash + ECDSA verification interface. More...

#include <ra8_ota.h>

Data Fields

ra8_err_t(* sha256_init )(void *ctx)
 Begin a SHA-256 streaming hash.
ra8_err_t(* sha256_update )(void *ctx, const uint8_t *data, uint32_t len)
 Feed bytes to the running SHA-256 hash.
ra8_err_t(* sha256_final )(void *ctx, uint8_t out[k_ra8_ota_sha256_bytes])
 Finalise and write the 32-byte digest to out.
ra8_err_t(* ecdsa_verify )(void *ctx, uint32_t pubkey_handle, const uint8_t digest[k_ra8_ota_sha256_bytes], const uint8_t *sig, uint32_t sig_len)
 Verify sig is a valid ECDSA signature over digest using the public key referenced by pubkey_handle.
void * ctx
 Opaque context passed back to every callback.

Detailed Description

Injected hash + ECDSA verification interface.

Same Dependency-Inversion pattern as ra8_ota_net_iface_t. A concrete implementation lives outside this module (mbedtls or tf-psa-crypto adapter); unit tests pass a mock that scripts happy-path / mismatch behaviour.

Definition at line 195 of file ra8_ota.h.

Field Documentation

◆ ctx

void* ra8_ota_crypto_iface_t::ctx

Opaque context passed back to every callback.

Definition at line 214 of file ra8_ota.h.

Referenced by app_make_cfg().

◆ ecdsa_verify

ra8_err_t(* ra8_ota_crypto_iface_t::ecdsa_verify) (void *ctx, uint32_t pubkey_handle, const uint8_t digest[k_ra8_ota_sha256_bytes], const uint8_t *sig, uint32_t sig_len)

Verify sig is a valid ECDSA signature over digest using the public key referenced by pubkey_handle.

Definition at line 207 of file ra8_ota.h.

Referenced by app_make_cfg(), and internal_validate_cfg_crypto().

◆ sha256_final

ra8_err_t(* ra8_ota_crypto_iface_t::sha256_final) (void *ctx, uint8_t out[k_ra8_ota_sha256_bytes])

Finalise and write the 32-byte digest to out.

Definition at line 201 of file ra8_ota.h.

Referenced by app_make_cfg(), and internal_validate_cfg_crypto().

◆ sha256_init

ra8_err_t(* ra8_ota_crypto_iface_t::sha256_init) (void *ctx)

Begin a SHA-256 streaming hash.

Definition at line 197 of file ra8_ota.h.

Referenced by app_make_cfg(), and internal_validate_cfg_crypto().

◆ sha256_update

ra8_err_t(* ra8_ota_crypto_iface_t::sha256_update) (void *ctx, const uint8_t *data, uint32_t len)

Feed bytes to the running SHA-256 hash.

Definition at line 199 of file ra8_ota.h.

Referenced by app_make_cfg(), and internal_validate_cfg_crypto().


The documentation for this struct was generated from the following file: