MCPcopy Create free account
hub / github.com/BruceDevices/firmware / generateValidKeyPair

Method generateValidKeyPair

src/modules/ble/fastpair_crypto.cpp:32–48  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

30}
31
32bool FastPairCrypto::generateValidKeyPair(uint8_t *public_key, size_t *pub_len) {
33 int ret = mbedtls_ecdh_gen_public(&grp, &d, &Q, mbedtls_ctr_drbg_random, &ctr_drbg);
34 if (ret != 0) { return false; }
35
36 if (*pub_len >= 65) {
37 size_t olen;
38 ret = mbedtls_ecp_point_write_binary(
39 &grp, &Q, MBEDTLS_ECP_PF_UNCOMPRESSED, &olen, public_key, *pub_len
40 );
41 if (ret == 0 && olen == 65) {
42 *pub_len = 65;
43 return true;
44 }
45 }
46
47 return false;
48}
49
50bool FastPairCrypto::generateEphemeralKeyPair(uint8_t *public_key, uint8_t *private_key) {
51 mbedtls_mpi priv;

Callers 1

performRealHandshakeMethod · 0.80

Calls

no outgoing calls

Tested by

no test coverage detected