gpt4 book ai didi

c++ - 从 BCRYPT_SECRET_HANDLE 将共享 secret 导出为 BYTE 数组

转载 作者:太空狗 更新时间:2023-10-29 23:13:34 27 4
gpt4 key购买 nike

我正在使用下一代加密 API (CNG) 实现 ECDHE。我成功生成了公钥和私钥。对于预共享 key ,我使用 BCryptSecretAgreement API,它返回预共享 key secret 句柄 (BCRYPT_SECRET_HANDLE)。

如何从 BCRYPT_SECRET_HANDLE 中将预共享 key 导出为 BYTE 数组?

最佳答案

从 Windows 10 开始,您可以使用 BCRYPT_KDF_RAW_SECRET 调用 BCryptDeriveKey()

生成的 key 数据是原始 secret 。

注意 1:bcrypt.h 表示此格式适用于“WINBLUE”,如果我理解正确的话,它将是 Windows 8.1,但我收到了在 Windows 8.1 和 Windows Server 2012 R2 上使用此 KDF 类型的 STATUS_NOT_SUPPORTED .但是,这适用于 Windows 10。)

注意 2:我发现使用此 KDF 类型返回的数据是小端(BCrypt 中的其他所有内容都是大端)。因此,要在其他大端世界中使用该值,您需要对数据进行字节翻转。

关于c++ - 从 BCRYPT_SECRET_HANDLE 将共享 secret 导出为 BYTE 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38115602/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com