从store.localmachine收集证书时,index超出了范围异常

时间:2013-08-06 10:54:50

标签: .net x509certificate2

我已在我的系统中安装了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数字证书并试图从他的登录信息中发送邮件...邮件正在触发但未经过数字签名。这就是说索引超出了范围异常。

你可以帮我找一下这个......

1 个答案:

答案 0 :(得分:0)

我只能在代码中看到一个数组,它是由语句store.Certificates分配的证书。因此,只有当用户计算机中不存在指定存储中可用的证书时,才会出现数组indexoutofbound异常。您是否将store.Certificates放入监视窗口并找到它具有的价值。我的直觉是它将为空。你能确认一下吗?