0

システム証明書を入力する必要があります。VSでデバッグすると、同じソースコードから証明書が正しくカウントされることがわかります。IIS 7.5 Windows 7 でコードを実行すると、.Count は常に 0 を返します。権限の問題はありますか? カウントが 0 を返すのはなぜですか?

        System.Security.Cryptography.X509Certificates.X509Store store = new System.Security.Cryptography.X509Certificates.X509Store(System.Security.Cryptography.X509Certificates.StoreName.My);
        store.Open(System.Security.Cryptography.X509Certificates.OpenFlags.ReadOnly);
        Response.Write("<hr>Certs count: " + store.Certificates.Count.ToString() + "<br>");
4

2 に答える 2

0

IIS と VS デバッガーは、異なるユーザー資格情報で実行されます。そのため、IIS は証明書をロードできません。これが私の回避策です:

コマンドライン ユーティリティを作成し、ユーザーとして実行します。

于 2013-02-20T09:22:16.790 に答える
0

ASP.NET の偽装は、ユーザーの証明書を読み込むのに役立ちます。

PS: System.Security.Principal.WindowsIdentity.GetCurrent().Name はユーザー名を取得します。

于 2013-02-20T12:15:06.513 に答える