CDC Badge OS
Firmware for the CDC Badge v1.0 hardware security key
Loading...
Searching...
No Matches
host_api_se.cpp File Reference

TROPIC01 SecureElement host API with per-call slot capability checks. More...

#include "cdc_hal/ISecureElement.h"
#include "plugin_manager/host_api.h"
#include "plugin_manager/Plugin.h"
#include "plugin_manager/PluginManager.h"
#include "cdc_core/TropicSlotMap.h"
#include "nvs.h"
#include <cstdio>
#include <cstring>
#include <string>

Go to the source code of this file.

Classes

class  ISecureElement

Enumerations

enum class  SeResult
enum class  EccCurve

Functions

void * plg_get_active_plugin (void)
int host_rmem_read_named (const char *name, uint8_t *buf, size_t *len)
 Read a named retained-memory slot.
int host_rmem_write_named (const char *name, const uint8_t *buf, size_t len)
 Write up to host_rmem_slot_size() bytes into a named rmem slot.
int host_rmem_erase_named (const char *name)
 Erase the contents of a named rmem slot.
bool host_rmem_name_used (const char *name)
 True if the named rmem slot currently holds data.
uint16_t host_rmem_slot_size (void)
 Maximum payload bytes per rmem slot.
int host_ecc_generate (const char *name, uint8_t curve)
 Generate a fresh ECC key for the named slot.
int host_ecc_import (const char *, const uint8_t *, uint8_t)
 Import an externally-generated private key for the named slot.
int host_ecc_pubkey (const char *name, uint8_t *pub, uint8_t)
 Export the public key for the named slot.
int host_ecc_delete (const char *name)
 Erase the named ECC key and free its pool slot.
bool host_ecc_exists (const char *name)
 True when the named ECC key currently holds a key.
int host_ecdsa_sign (const char *name, const uint8_t *msg, size_t len, uint8_t sig[64])
 ECDSA-sign Message transfer (badge-to-badge) with the P-256 named key; writes 64-byte raw sig.
int host_eddsa_sign (const char *name, const uint8_t *msg, size_t len, uint8_t sig[64])
 Ed25519-sign Message transfer (badge-to-badge) with the named key; writes 64-byte signature.
int host_se_chip_id (uint8_t *serial, size_t *len)
 Read the TROPIC01 chip serial / identity blob.
int host_se_fw_version (uint8_t *riscv, uint8_t *spect)
 Read TROPIC01 firmware versions for the RISC-V CPU and SPECT core.
ISecureElementgetSecureElementInstance ()
 Returns singleton secure-element stub instance.

Detailed Description

TROPIC01 SecureElement host API with per-call slot capability checks.

Definition in file host_api_se.cpp.

Enumeration Type Documentation

◆ EccCurve

enum class cdc::hal::EccCurve : uint8_t
strong

ECC curve types

Definition at line 12 of file ISecureElement.h.

◆ SeResult

enum class cdc::hal::SeResult : uint8_t
strong

Secure Element operation result

Definition at line 38 of file ISecureElement.h.

Function Documentation

◆ getSecureElementInstance()

Returns singleton secure-element stub instance.

Returns the singleton secure element service instance.

Returns
Pointer to stub implementation.

Definition at line 91 of file SecureElementStub.cpp.

◆ plg_get_active_plugin()

void * plg_get_active_plugin ( void )

Definition at line 24 of file plugin_log_bridge.cpp.