gpt4 book ai didi

.net - "Keyset does not exist"将 SignData 函数与 RSA 一起使用时

转载 作者:行者123 更新时间:2023-12-04 12:01:40 49 4
gpt4 key购买 nike

“ key 集不存在”。我知道有很多关于这个错误的问题,但我的完全不同。

我不会使用 Windows 证书存储中的 key ,而是 从 2 个裸字符串加载公钥和私钥 ,使用方法“fromXMLString”。

rsa.fromXMLString "<RSAKeyValue><Modulus>......"

然后
rsa.SignData buffer, algSHA1

和轰隆隆! :“ key 集不存在”

有人可以告诉我使用 2 个 xmlStrings 中的 rsa key 对是无辜的,它与 Windows 证书存储区完全无关吗?我有自己的存储和加载证书/ key 的方法。

PS:关于此错误问题的其他答案告诉提问者在证书存储中为私钥设置正确的权限。但就我而言,我在该商店中没有使用私钥文件,对吗?

最佳答案

我知道这个问题已有 7 年历史,但我遇到了完全相同的问题并发现了问题(至少对我而言)。
如果您使用 rsa.Encrypt() 加密您的数据,您需要公钥或私钥。两者都有效。当您使用解密 ( rsa.Decrypt() ) 时,您必须使用私钥。公钥无法做到这一点。
现在是重要的部分。签名翻转了这一点。您必须使用 rsa.SignData() 签署您的数据使用您的私钥!这很重要,因为只有私钥才能创建新的签名数据。对于 rsa.VerifyData() 的验证您可以再次使用任一键。
例如,这允许您的客户端验证许可证,而无需存储私钥。

关于.net - "Keyset does not exist"将 SignData 函数与 RSA 一起使用时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21943209/

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