Dot-Net

我可以使用程序集不在 GAC 中的自定義保護提供程序加密 web.config 嗎?

  • May 24, 2010

我為我的 web.config 編寫了一個自定義的受保護配置提供程序。

當我嘗試用它加密我的 web.config 時,我從 aspnet_iisreg 收到以下錯誤

aspnet_regiis.exe -pef appSettings 。-prov CustomProvider(在我的 MSBuild 中執行)

無法載入文件或程序集“MyCustomProviderNamespace”或其依賴項之一。該系統找不到指定的文件。

檢查 Fusion 日誌後,我確認它正在檢查 GAC 和“C:/WINNT/Microsoft.NET/Framework/v2.0.50727/”(aspnet_iisreg 的位置)。但它找不到提供者。

我不想將我的組件移動到 GAC 中,我想將自定義程序集留在我的 ApplicationBase 中以復製到各種伺服器,而不必從 GAC 中拉/推。

這是我在 web.config 中的提供程序配置。

<configProtectedData>
 <providers>
   <add name="CustomProvider"
        type="MyCustomProviderNamespace.MyCustomProviderClass,
        MyCustomProviderNamespace" />
 </providers>
</configProtectedData>

我想讓 aspnet_iisreg 檢查我的 ApplicationBase Bin 文件夾中的這個程序集。有沒有人有任何想法?

有點臟,我最終做的是將進行加密的 DLL 添加到建構機器的 GAC 中。這對配置進行了加密。

在部署解決方案時,我將 Dll 複製到 ApplicationBase 中,應用程序能夠成功解密它。

引用自:https://stackoverflow.com/questions/2872407