1

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

你能帮我找出这个吗..

4

1 回答 1

0

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

于 2013-08-06T11:30:20.933 回答