Доступ к сертификату
От: -Cheese-  
Дата: 12.11.14 07:00
Оценка:
Всем привет.
Есть следующий вопрос.
В системе есть пользователь user, под которым залогинена машина. В его хранилище сертификатов есть персональный сертификат MyCert.
На машине запущен IIS и в нём Asp.Net приложение. AppPool для сайта с приложение запущен от NetworkService.
Стоит задача сделать запрос на определённый ресурс, используя сертификат MyCert.

Сертификат ищу так:
static X509Certificate2 GetCertificate()
{
  X509Store store = new X509Store(StoreLocation.CurrentUser);
  store.Open(OpenFlags.ReadOnly);
  X509Certificate2Collection cers = store.Certificates.Find(X509FindType.FindBySubjectName, "MyCert", false);
  return cers.Count == 0 ? null : cers[0];
}


И потом просто добавляю его в запросе http
  HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(requestUri);
  myHttpWebRequest.ClientCertificates.Add(cert);


Из-под NetworkService сертификат не виден.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.