【发布时间】:2020-09-24 01:48:03
【问题描述】:
所以我在我的软件中使用来自 windows 的 CNG 框架(它专门用 c 编写)。 问题是当我尝试在我的代码中实现 RSA 时
代码如下所示:
DWORD temp = BCRYPT_SUPPORTED_PAD_OAEP;
BCryptOpenAlgorithmProvider(PointerToAlgorithmProvider, BCRYPT_RSA_ALGORITHM, NULL, 0);
BCryptGenerateKeyPair(ActualAlgorithmProvider, &handleToKeyObject, 2048, 0);
BCryptSetProperty(ActualAlgorithmProvider, BCRYPT_PADDING_SCHEMES, (PUCHAR)&temp, sizeof(DWORD), 0);
.
.
.
很遗憾,BCryptSetProperty 返回无效句柄错误。
【问题讨论】:
-
根据评论,
BCRYPT_PADDING_SCHEMES似乎是BCryptGetProperty。你有没有在内核模式下试过,用BCRYPT_PROV_DISPATCH打开provider句柄?