Поскольку закрытый ключ смарт-карты не может быть экспортирован, мне нужно использовать StoreLocation.My вместо StoreLocation.LocalMachine на веб-сайте.
string userName = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
int count = 0;
X509Store store = null;
X509Certificate2Collection col = null;
X509Certificate2 cert = null;
store = new X509Store(StoreName.My, StoreLocation.CurrentUser); // Certificate store locaiton is Personal
store.Open(OpenFlags.ReadOnly);
col = store.Certificates;
count = col.Count;
В разработкеВ среде (Visual Studio) код работает как положено.Когда он будет работать на IIS, я не могу найти какой-либо установленный личный сертификат.Я пытался создать пул приложений, который будет работать под моей учетной записью Windows вместо сетевой службы или другой учетной записи приложения, но это не помогло.
Как использовать личный сертификат в среде IIS?