我有一個通常使用本地系統帳戶運行的Windows服務(儘管在某些安裝中它可能作爲特定的用戶帳戶)。哪裏存儲Windows服務的X509證書?
該服務正在使用WCF,並使用X509證書進行通信保護。
我的問題是,哪裏是存儲證書(和私鑰)的最佳位置?
如果使用證書存儲是最好的方法,我應該使用哪一個來確保只有管理員和服務可以訪問私鑰?
或者,一個簡單的選項是將兩者都作爲PFX文件存儲在磁盤上,並使用ACL來確保只有管理員和服務才能訪問它。這種方法與使用證書存儲有什麼區別?
編輯 爲了澄清,我正在使用C#與所有的.NET Framework 3.5的
「不可導出」標誌並不真正增加安全性 - 使用像Jailbreak(www.isecpartners.com)這樣的工具導出此類密鑰並不重要。 – Cocowalla 2010-05-06 21:25:19
@Cocowalla謝謝你的有趣信息!這對我來說是新的,我將搜索有關此工具的更多信息,但我不相信此工具可以從智能卡或其他硬件解決方案中導出私鑰。原因智能卡不適合服務器的解決方案,但其他基於硬件的證書存儲可以解決問題。而且,在Windows的下一個安全修復程序之後,越獄程序無法工作。爲了說明信任,我不知道至少從體系結構方面來看證書存儲更好的解決方案。 – Oleg 2010-05-06 21:44:44
你說得對,Jailbreak不能從智能卡中輸出。如果證書商店是最好的解決方案,我應該使用哪個商店?本地機器商店?這是如何得到保證的(也就是說,_who_可以訪問私鑰)? – Cocowalla 2010-05-06 21:47:44