C#通过阅读智能卡上的密钥来解密电子邮件

时间:2013-08-12 14:08:21

标签: c# cryptography rsa smartcard

我的一个客户需要一个工具来解密他们的电子邮件。

他们使用智能卡进行加密/解密。

截至目前,他们正在使用一种工具,要求他们输入他们的PUBLIC KEY。在提供有效的PUBLIC KEY之后,SMART CARD上的PUBLIC和PRIVATE KEYS的组合将帮助他们解密他们的电子邮件。

我们正在开发一个可以作为Windows服务(在后台运行)的工具,并通过一次又一次地提示用户输入公钥来解密所有电子邮件。

我们正在使用C#开发此工具,并且从博客中我了解到我们需要Microsoft CSP才能实现此功能。我认为以下代码将能够使用智能卡容器并读取私钥。但我不知道如何提供公钥并解密电子邮件。

CspParameters csp = new CspParameters(1, "Microsoft Base Smart Card Crypto Provider");
// CspParameters csp = new CspParameters(1, "Microsoft Strong Cryptographic Provider");
csp.Flags = CspProviderFlags.UseDefaultKeyContainer;

// Initialize an RSACryptoServiceProvider object using 
// the CspParameters object.
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(csp);

如果我的方向错误,有人可以纠正我吗?还请进一步说明。

0 个答案:

没有答案