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

コードで確認できた配列は 1 つだけで、store.Certificates ステートメントによって割り当てられた証明書です。したがって、配列 indexoutofbound 例外は、指定されたストアで利用可能な証明書がユーザーのマシンに存在しない場合にのみ発生します。store.Certificates をウォッチ ウィンドウに配置して、その価値を見つけましたか。私の直感は、それがnullになるということです。確認していただけますか?

于 2013-08-06T11:30:20.933 に答える