64#define GPG_RSA_BLOB_MAX 560
97 size_t* blob_len_out,
const char* pin);
void gpg_storage_set_rsa_slot_range(uint16_t start, uint16_t end)
Sets the dedicated R-Memory range used for RSA private-key blobs.
bool gpg_storage_save_aes_key(const uint8_t *key, size_t key_len, const char *pin)
Saves the symmetric AES key for PSO:DECIPHER (DO 0xD5).
bool gpg_storage_delete_rsa_key(uint8_t role)
Deletes the RSA private-key blob for the role (both slots).
void gpg_storage_set_rmem_range(uint16_t rmemStart, uint16_t rmemEnd)
bool gpg_storage_delete_dec_privkey(void)
Deletes DEC private key record.
uint8_t gpg_storage_dec_slot(void)
bool gpg_storage_ready(void)
bool gpg_storage_save_dec_privkey(const uint8_t *privkey, const char *pin)
Saves a DEC private key into R-Memory using PIN-bound AES-GCM.
bool gpg_storage_save_rsa_key(uint8_t role, const uint8_t *blob, size_t blob_len, const char *pin)
Saves an encrypted RSA private-key blob for a key role.
void gpg_storage_set_session_pin(const char *pin)
Stores session PIN-derived key after successful PIN verification.
bool gpg_storage_has_rsa_key(uint8_t role)
Returns true if an RSA private-key blob exists for the role.
bool gpg_storage_load_aes_key(uint8_t *key_out, size_t *key_len_out, const char *pin)
Loads the symmetric AES key from R-Memory.
bool gpg_storage_load_dec_privkey(uint8_t *privkey_out, const char *pin)
Loads and decrypts the DEC private key from R-Memory.
uint8_t gpg_storage_aut_slot(void)
void gpg_storage_clear_session(void)
Clears the cached session key.
uint8_t gpg_storage_sig_slot(void)
void gpg_storage_set_slot_range(uint16_t eccStart, uint16_t eccEnd)
bool gpg_storage_delete_aes_key(void)
Deletes the symmetric AES key record.
bool gpg_storage_load_rsa_key(uint8_t role, uint8_t *blob_out, size_t blob_cap, size_t *blob_len_out, const char *pin)
Loads and decrypts the RSA private-key blob for a key role.
bool gpg_storage_has_dec_privkey(void)
Returns true if encrypted DEC private key record exists.
bool gpg_storage_get_session_key(uint8_t *key_out)
Returns current session key if session is active.
bool gpg_storage_has_aes_key(void)
Returns true if a symmetric AES key record exists.