25#include "os_address_book.h"
27#ifdef HAVE_ADDRESS_BOOK
29bool address_book_generate_group_handle(
const path_bip32_t *bip32_path,
30 uint8_t group_handle[GROUP_HANDLE_SIZE]);
32bool address_book_verify_group_handle(
const path_bip32_t *bip32_path,
33 const uint8_t group_handle[GROUP_HANDLE_SIZE],
34 uint8_t gid_out[GID_SIZE]);
36bool address_book_compute_hmac_proof(
const path_bip32_t *bip32_path,
37 const uint8_t gid[GID_SIZE],
39 uint8_t hmac_out[CX_SHA256_SIZE]);
41bool address_book_verify_hmac_proof(
const path_bip32_t *bip32_path,
42 const uint8_t gid[GID_SIZE],
44 const uint8_t hmac_expected[CX_SHA256_SIZE]);
46bool address_book_compute_hmac_rest(
const path_bip32_t *bip32_path,
47 const uint8_t gid[GID_SIZE],
49 const uint8_t *identifier,
50 uint8_t identifier_len,
53 uint8_t hmac_out[CX_SHA256_SIZE]);
55bool address_book_verify_hmac_rest(
const path_bip32_t *bip32_path,
56 const uint8_t gid[GID_SIZE],
58 const uint8_t *identifier,
59 uint8_t identifier_len,
62 const uint8_t hmac_expected[CX_SHA256_SIZE]);
64#ifdef HAVE_ADDRESS_BOOK_LEDGER_ACCOUNT
66bool address_book_compute_hmac_proof_ledger_account(
const path_bip32_t *bip32_path,
70 uint8_t hmac_out[CX_SHA256_SIZE]);
72bool address_book_verify_hmac_proof_ledger_account(
const path_bip32_t *bip32_path,
76 const uint8_t hmac_expected[CX_SHA256_SIZE]);
81bool address_book_send_hmac_proof(uint8_t type,
const uint8_t hmac_proof[CX_SHA256_SIZE]);
84bool address_book_send_register_identity_response(
const uint8_t group_handle[GROUP_HANDLE_SIZE],
85 const uint8_t hmac_proof[CX_SHA256_SIZE],
86 const uint8_t hmac_rest[CX_SHA256_SIZE]);
Register / Edit Contact Name / Edit Scope / Edit Identifier.
SHA-2 (Secure Hash Algorithm 2)