CDC Badge OS
Firmware for the CDC Badge v1.0 hardware security key
Loading...
Searching...
No Matches
SecureElementStub.cpp
Go to the documentation of this file.
1
5
7#include "cdc_log.h"
8
9static const char* TAG = "SE-Stub";
10
11namespace cdc::hal {
12
17public:
22 bool init() override {
23 LOG_W(TAG, "SecureElement STUB - TROPIC01 not implemented yet");
25 return true;
26 }
27
31 bool start() override { state_ = core::ServiceState::STARTED; return true; }
35 void stop() override { state_ = core::ServiceState::STOPPED; }
36 core::ServiceState getState() const override { return state_; }
37 const char* getName() const override { return "secure_element"; }
38
39 bool sessionStart() override { return false; }
43 void sessionEnd() override {}
48 bool isSessionActive() const override { return false; }
52 void sleep() override {}
53
55 SeResult eccImport(uint8_t, const uint8_t*, EccCurve) override { return SeResult::NOT_SUPPORTED; }
56 SeResult eccGetPublicKey(uint8_t, uint8_t*, EccCurve*) override { return SeResult::NOT_SUPPORTED; }
57 SeResult eccDelete(uint8_t) override { return SeResult::NOT_SUPPORTED; }
58 bool eccSlotUsed(uint8_t) const override { return false; }
59
60 SeResult ecdsaSign(uint8_t, const uint8_t*, size_t, uint8_t*, size_t*) override {
62 }
63 SeResult eddsaSign(uint8_t, const uint8_t*, size_t, uint8_t*) override {
65 }
66
67 SeResult rmemRead(uint16_t, uint8_t*, uint16_t, uint16_t*) override {
69 }
70 SeResult rmemWrite(uint16_t, const uint8_t*, uint16_t) override {
72 }
73 SeResult rmemErase(uint16_t) override { return SeResult::NOT_SUPPORTED; }
74 bool rmemSlotUsed(uint16_t) const override { return false; }
75
76 bool getRandom(uint8_t*, uint16_t) override { return false; }
77 bool getRandomStrict(uint8_t*, uint16_t) override { return false; }
78 bool getChipId(uint8_t*, uint8_t) override { return false; }
79 bool getFwVersion(uint8_t[4], uint8_t[4]) override { return false; }
80
81private:
83};
84
86
94
95} // namespace cdc::hal
static const char * TAG
CDC Log: logging over TinyUSB CDC and UART.
#define LOG_W(tag, fmt,...)
Definition cdc_log.h:146
bool getRandomStrict(uint8_t *, uint16_t) override
bool init() override
Initializes stub secure element service.
const char * getName() const override
core::ServiceState getState() const override
SeResult eccDelete(uint8_t) override
SeResult rmemErase(uint16_t) override
void stop() override
Stops stub service state.
SeResult ecdsaSign(uint8_t, const uint8_t *, size_t, uint8_t *, size_t *) override
void sleep() override
Requests secure element sleep (stub no-op).
SeResult eccGetPublicKey(uint8_t, uint8_t *, EccCurve *) override
SeResult eccGenerate(uint8_t, EccCurve) override
bool getFwVersion(uint8_t[4], uint8_t[4]) override
SeResult eddsaSign(uint8_t, const uint8_t *, size_t, uint8_t *) override
bool isSessionActive() const override
Returns secure-element session state.
bool start() override
Starts stub service state.
SeResult rmemRead(uint16_t, uint8_t *, uint16_t, uint16_t *) override
void sessionEnd() override
Ends secure-element session (stub no-op).
SeResult rmemWrite(uint16_t, const uint8_t *, uint16_t) override
bool eccSlotUsed(uint8_t) const override
bool rmemSlotUsed(uint16_t) const override
bool getChipId(uint8_t *, uint8_t) override
bool getRandom(uint8_t *, uint16_t) override
SeResult eccImport(uint8_t, const uint8_t *, EccCurve) override
static SecureElementStub g_secureElementStub
ISecureElement * getSecureElementInstance()
Returns singleton secure-element stub instance.