我花了几天时间搜索ECDH秘密协议的结构,但没有成功。我在 MSDN 中发现NCryptSecretAgreement函数设置了一个指向 NCRYPT_SECRET_HANDLE 变量的指针,该变量接收代表秘密协议值的句柄。我根本不熟悉 WinAPI,所以除了阅读文档之外我什么也做不了。
我需要在基于 Windows 的桌面应用程序和 Web 应用程序之间交换密钥。我需要知道的是 CNG 的 KDF 究竟如何使用(在我的情况下是散列)秘密协议值。我使用 SHA-256 算法作为 KDF 并尝试对秘密协议的 X 和 Y 进行散列,但结果与 CNG 计算的一个不匹配。有任何想法吗?
谢谢你。