2010-10-02 47 views
0

我的網站正在做一些http帖子到另一臺服務器,我需要附上證書。NET證書(C#)

我使用這個代碼來打開證書存儲和獲取證書,我需要:

X509Store store = new X509Store(StoreName.My, StoreLocation.CurrentUser); 
store.Open(OpenFlags.ReadOnly); 
X509CertificateCollection certCollection = store.Certificates; 

用戶是域帳戶和應用程序的應用程序池使用它。

問題是,如果該帳戶登錄到計算機上,我只能獲得證書。如果用戶註銷,我無法訪問此商店。

任何想法?

謝謝!

回答

3

您需要將證書從CurrentUser Windows證書存儲移到LocalMachine存儲(例如使用證書MMC控制檯),然後將您的X509Store構造函數的參數從StoreLocation.CurrentUser更改爲StoreLocation.LocalMachine。

另一種方法是將證書存儲在PFX文件中並從那裏加載它,但是您需要注意從磁盤加載PFX文件時使用的密碼的安全性。