gpt4 book ai didi

c# - 如何使用仅给定 keystore 的 C# 对哈希进行签名和加密

转载 作者:太空宇宙 更新时间:2023-11-03 16:35:32 25 4
gpt4 key购买 nike

我使用的是使用 vc 6.0 和 cryptoAPI 创建的 keystore 。 keystore 包含所有交换/签名 key 。所以我可以使用公钥很好地使用 RSA 加密数据,但是当需要签名或解密数据时,我似乎无法找到如何使用私钥解密。

我见过很多网站都在使用rsa = (RSACryptoServiceProvider)cert.PrivateKey;

但是当我查看证书时,在我的 keystore 中,所有私钥都不存在。

//这就是我设置商店的方式

public cryptTest(string storeName)
{
store = new X509Store(storeName);
this.storename = storename;
}

//这就是我从商店获取证书的方式

public X509Certificate2 getCertificate(string ID, certType ct)
{
if (store == null)
{
return null;
}
store.Open(OpenFlags.ReadOnly);
foreach (X509Certificate2 cert in store.Certificates)
{
if ((ct == certType.exchange && cert.Subject.Contains("Exchange")) ||
(ct == certType.signature && cert.Subject.Contains("Signature")))
{
if (cert.Subject.Contains(ID)) // if the ID match
{
// todo check date etc ! is cert still valid if not delete etc.
store.Close();
return cert;
}
}
}
store.Close();
return null;
}

但是在证书中他们从来没有私钥,所以我怎么可能使用 keystore 中的证书解密或签名?

感谢一百万!

最佳答案

我认为 EncryptTo/DecryptTo: Encryption in .NET with CryptoAPI Certificate Stores MSDN 上的文章应该有你需要的答案。

关于c# - 如何使用仅给定 keystore 的 C# 对哈希进行签名和加密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9232328/

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