2013-09-05 2 views
2

Я пытаюсь добавить сертификат внутри localMachine Root. Ниже приведен код для того, что я пробовал, но это не позволяет мне добавить в локальную машину, а приходить, чтобы добавить его, запрет доступа. Как разрешить установку внутри локального компьютера?Ошибка установки сертификата доступа

X509Certificate2 cert = new X509Certificate2(@"D:\MyCertificate.pfx", "[email protected]", 
       X509KeyStorageFlags.MachineKeySet | X509KeyStorageFlags.PersistKeySet); 
// save certificate and private key 
X509Store storeMy = new X509Store(StoreName.Root, StoreLocation.LocalMachine); 
storeMy.Open(OpenFlags.ReadWrite); 
storeMy.Add(cert); 
+0

Вы пробовали запустить приложение как администратор? – Scorpion

+0

@Scorpion: Когда я пытался запустить приложение в качестве администратора, это сработало. Почему это не работает даже с правами администратора? – reapen

+0

Пожалуйста, проверьте мой ответ ниже. – Scorpion

ответ

2

Убедитесь Identity свойство Application Pool вы используете для вашего приложения установлен Local System.

enter image description here

+0

это делается через приложение Windows, а не в Интернете, поэтому, когда я могу установить свойство Identity в локальную систему – reapen

3

Попробуйте запустить приложение в качестве администратора.

Если он успешно работает для администратора, это означает, что у вашего пользователя нет доступа к сертификату установки.

Пожалуйста, прочитайте this

Вы можете попробовать установить сертификат под current user магазине, а затем local machine.

В кодексе использования:

StoreLocation.CurrentUser 

вместо

StoreLocation.LocalMachine