25#include "os_address_book.h"
27#ifdef HAVE_ADDRESS_BOOK
29bool address_book_generate_group_handle(uint8_t group_handle[GROUP_HANDLE_SIZE]);
31bool address_book_verify_group_handle(
const uint8_t group_handle[GROUP_HANDLE_SIZE],
32 uint8_t gid_out[GID_SIZE]);
34bool address_book_compute_hmac_proof(
const uint8_t gid[GID_SIZE],
36 uint8_t hmac_out[CX_SHA256_SIZE]);
38bool address_book_verify_hmac_proof(
const uint8_t gid[GID_SIZE],
40 const uint8_t hmac_expected[CX_SHA256_SIZE]);
42bool address_book_compute_hmac_rest(
const uint8_t gid[GID_SIZE],
44 const uint8_t *identifier,
45 uint8_t identifier_len,
48 uint8_t hmac_out[CX_SHA256_SIZE]);
50bool address_book_verify_hmac_rest(
const uint8_t gid[GID_SIZE],
52 const uint8_t *identifier,
53 uint8_t identifier_len,
56 const uint8_t hmac_expected[CX_SHA256_SIZE]);
58#ifdef HAVE_ADDRESS_BOOK_LEDGER_ACCOUNT
60bool address_book_compute_hmac_proof_ledger_account(
const path_bip32_t *bip32_path,
64 uint8_t hmac_out[CX_SHA256_SIZE]);
66bool address_book_verify_hmac_proof_ledger_account(
const path_bip32_t *bip32_path,
70 const uint8_t hmac_expected[CX_SHA256_SIZE]);
75bool address_book_send_hmac_proof(uint8_t type,
const uint8_t hmac_proof[CX_SHA256_SIZE]);
78bool address_book_send_register_identity_response(
const uint8_t group_handle[GROUP_HANDLE_SIZE],
79 const uint8_t hmac_proof[CX_SHA256_SIZE],
80 const uint8_t hmac_rest[CX_SHA256_SIZE]);
Register / Edit Contact Name / Edit Scope / Edit Identifier.
SHA-2 (Secure Hash Algorithm 2)