【发布时间】:2017-01-19 07:13:16
【问题描述】:
这是我的代码的一部分
我已经通过 RSACryptoProvider 从另一个应用程序 VB.net 加密了一些文本
但我坚持用 C 解密。
这是我的代码。
static CK_RV usePrivateKeytoDecrypt(CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hObject) {
CK_RV rv = CKR_OK;
CK_MECHANISM mechanism = {
{CKM_RSA_PKCS_OAEP}
};
rv = C_DecryptInit(hSession, &mechanism, hObject);
return rv;
}
代码未完成。我尝试调试并得到错误 CKR_MECHANISM_PARAM_INVALID
请帮忙。谢谢
【问题讨论】:
-
错误消息正如其名称所暗示的那样:参数(即hObject)无效。怎么回事,我们不知道,因为您没有提供任何相关信息。
-
粗略检查表明您没有设置机制的
pParameter和ulParameterLen值来表示CK_RSA_PKCS_OAEP_PARAMS。 OAEP 有选项,这些选项被编码在该结构中。 -
我也有同样的问题。那么 CKM_RSA_PKCS_OAEP 的正确参数设置是什么?使用 CK_MECHANISM MechEncrypt = { CKM_RSA_PKCS_OAEP, NULL_PTR, 0}; 时出现同样的错误
标签: encryption rsa private-key pkcs#11