我想用北欧芯片(NRF52)从客户端建立安全的蓝牙连接。我还在运行WolfSSL库。因此,我通过PEER-64Byte密钥从Nordic SoftDevice那里收到一个" ble_gap_evt_lesc_dhkey_request"请求。现在,我需要生成自己的密钥对,然后将公共密钥发送回中央。我该如何管理?我是对的,以下功能不是Btle Secure Connection的正确功能吗?
wc_InitDhKey(...);
wc_DhGenerateKeyPair(...);
...
sd_ble_gap_lesc_dhkey_reply(...);
我需要生成具有P-256长度的椭圆形曲线差异键对。不幸的是,我不是这个主题的专家。我需要从WolfSSL库中拨打哪些功能来生成这样的公共ECDH键?
感谢您的回答或提示
我建议您也查看模块曲线的文档25519以生成椭圆键:
https://www.wolfssl.com/wolfssl/docs-wolfssl-manual-18-10-wolfcrypt-api-curve25519.html
混乱是ECDH和DH几乎没有共同点,但名称。我建议查看wc_ecc_shared_secret()
和wc_ecc_make_key()
。