2013-09-05 105 views
2

我想在localMachine根目錄中添加一個證書。下面是我嘗試過的代碼,但是這不允許我添加到本地計算機,而添加它的說拒絕訪問。如何允許在本地機器內安裝?證書安裝訪問被拒絕的錯誤

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

讓你使用你的應用程序設置爲本地系統肯定Application PoolIdentity財產。

enter image description here

+0

這是通過Windows應用程序而不是網頁,所以我可以將身份屬性設置爲本地系統 – reapen

3

嘗試運行應用程序作爲管理員。

如果它對admin成功運行,這意味着您的用戶無權訪問安裝證書。

請通讀this

你可以嘗試下current user店安裝證書而不是local machine

在代碼中使用:的

StoreLocation.CurrentUser 

代替

StoreLocation.LocalMachine