我已在我的系统中安装了comodo数字证书,并在sharepoint可视化Web部件中编写了以下代码,以便通过数字签名发送电子邮件...
private X509Certificate2 GetCertificate()
{
X509Store store = new X509Store(StoreName.My, StoreLocation.CurrentUser);
store.Open(OpenFlags.OpenExistingOnly);
X509Certificate2Collection certificates = store.Certificates;
X509Certificate2 certificate = certificates[0];
return certificate;
}
当我从我的系统运行应用程序时触发了数字签名邮件,它工作正常。
同时......在我同事的系统中安装了另一个comodo数字证书并试图从他的登录信息中发送邮件...邮件正在触发但未经过数字签名。这就是说索引超出了范围异常。
你可以帮我找一下这个......
答案 0 :(得分:0)
我只能在代码中看到一个数组,它是由语句store.Certificates分配的证书。因此,只有当用户计算机中不存在指定存储中可用的证书时,才会出现数组indexoutofbound异常。您是否将store.Certificates放入监视窗口并找到它具有的价值。我的直觉是它将为空。你能确认一下吗?