我的一个客户需要一个工具来解密他们的电子邮件。
他们使用智能卡进行加密/解密。
截至目前,他们正在使用一种工具,要求他们输入他们的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);
如果我的方向错误,有人可以纠正我吗?还请进一步说明。