[英]How to use File.Encrypt from ASP.NET
我有一個簡單的C#ASP.NET MVC應用程序(在Windows Server 2012 R2和IIS 8.5上),用於將文件上傳到服務器。 我想使用File.Encrypt(path-to-file)自動加密這些文件,但是我得到了
System.IO.IOException occurred
HResult=-2146499771
Message=The requested operation cannot be completed. The computer must
be trusted for delegation and the current user account must be
configured to allow delegation.
IIS在默認的IIS_IUSRS帳戶下運行,該帳戶具有相應文件夾的“完全控制”權限。
我要完成的工作是一個簡單的Web應用程序,客戶端可以上傳敏感文件,然后授權用戶只能通過Web應用程序訪問(不可以通過文件系統直接訪問,因為只有加密用戶帳戶可以通過文件系統直接訪問)解密文件)。
我意識到該解決方案有缺點,但是基於公鑰/私鑰的解決方案也有缺點(您會陷入如何安全地存儲私鑰以進行解密的問題)。 我主要感興趣的是針對我的特定方案的解決方案。
我該如何工作?
通過創建專門用於應用程序池的用戶(具有最小權限和強密碼)並將其用作應用程序池標識,可以使工作正常。
我最初想避免這樣做(我認為這樣做不太安全),但是根據Microsoft的“ IIS 8安全最佳實踐”( https://technet.microsoft.com/zh-cn/library/jj635855.aspx ) , 這不成問題:
可以使用自定義身份帳戶,但是請確保為每個應用程序池使用不同的帳戶
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.