簡體   English   中英

服務無法讀取證書存儲

[英]Service can't read certificate store

我們想要創建一個服務,該服務將自動從商店中刪除證書(使用c#)。 當我們手動運行.exe時,一切都會順利進行。 但是,當我們從該.exe創建服務時,它不會讀取存儲中的證書,並一直說它為空。

我們該怎么做才能糾正這個問題?

這是讀取存儲,然后刪除所有找到的證書的部分:

X509Store store = new X509Store(StoreLocation.CurrentUser);
store.Open(OpenFlags.ReadWrite);
X509Certificate2Collection storecollection = (X509Certificate2Collection)store.Certificates;
foreach (X509Certificate2 x509 in storecollection)
{
    store.Remove(x509);
}
store.Close();

它正在正確讀取商店。 問題是您的服務(安裝時)在其他用戶下運行。 他的證書存儲區是空的。 當您通過雙擊.exe來運行該服務時,它將在您的帳戶下運行。

您可以根據需要將服務設置為在您的帳戶下運行。 您可以在“登錄”選項卡上的服務屬性中執行此操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM