所以我正在尝试使用已由用户选择的X509Certificate2签署电子邮件。我一直在尝试使用MimeKit来做这个,但是这个文档看起来很旧。
这就是他们告诉你在github页面上做到这一点的方法(找到here)
using (var ctx = new MySecureMimeContext ()) {
var certificate = GetJoeysX509Certificate ();
var signer = new CmsSigner (certificate);
signer.DigestAlgorithm = DigestAlgorithm.Sha1;
message.Body = MultipartSigned.Create (ctx, signer, body);
}
我遇到的第一个问题是以上是使用
Org.BouncyCastle.X509.X509Certificate
我从X509Store()获取证书,该证书使用
System.Security.Cryptography.X509Certificates.X509Certificate2
即
X509Store store = new X509Store("My");
store.Open(OpenFlags.ReadOnly);
// bind to dropdownlist for user to select...
store.Close();
这表明我应该使用其他方法检索我的证书列表(我无法找到任何文档)。
我的第二个问题是,CmsSigner需要第二个参数(AsymmetricKeyParameter),而不是一个,如示例中所示。
所以我的问题是: