asp.net - MSDeploy自动加密连接字符串,字典中找不到 key

标签 asp.net encryption web-config msdeploy aspnet-regiis.exe

由于Web Deploy 3.5支持使用标志–EnableRule:EncryptWebConfig来自动加密连接字符串。但是,使用以下命令运行时:

"C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe" -source:package='C:\[...]\MyApp.WebDeployPackage.zip' -dest:auto,includeAcls="False" -verb:sync -disableLink:AppPoolExtension -disableLink:ContentExtension -disableLink:CertificateExtension -setParamFile:"C:\[...]\MyApp.SetParameters.xml" -EnableRule:EncryptWebConfig  -verbose

我得到:
Error Code: ERROR_FAILED_TO_ENCRYPT_WEB_CONFIG
More Information: Failed to encrypt destination web.config: C:\[...]\Web.config.  
Learn more at: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_FAILED_TO_ENCRYPT_WEB_CONFIG.
Error: The given key was not present in the dictionary.

Learn more-link指向过时的文档,我似乎无法在线找到任何信息。

我怀疑该工具在后台使用了aspnet_regiis,但我不确定。是的,我正在使用完整的管理员权限运行以上操作。

最佳答案

我有同样的问题,但这不是由于嵌套的web.config文件。出于某种原因,我的部署用户无法访问 key 容器(在Web Deployment Service错误日志中,抛出的异常是System.Configuration.ConfigurationErrorsException: The RSA key container could not be opened.)。

我最终使用了以下命令:aspnet_regiis -pa "NetFrameworkConfigurationKey" "<MYUSER>"给予<MYUSER>必要的访问权限。

关于asp.net - MSDeploy自动加密连接字符串,字典中找不到 key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19636870/

相关文章:

asp.net - jqgrid 与 asp.net webmethod 和 json 一起使用排序、分页、搜索和 LINQ——但需要动态运算符

C# 'is' 关键字提供了意外的结果

encryption - 用户如何证明特定帐户有权访问 BigQuery? (AEAD 加密和授权 View )

security - 后端密码加密与散列

.net - .Net 2.0 Web 服务中的 SSPI 连接

Azure 中的 ASP.NET MVC 4 和 Web API - 未找到 HTTP 资源

encryption - CryptoJS 加密 Go 解密

c# - ASP.NET MVC 中的一个 Web.config 而不是每个 Views 文件夹的多个

ajax - "Baseaddress not found"- 在 GoDaddy 上部署 WCF 服务时出错

c# - 使用 EPPlus (asp.net) 在 excel 中转换为整数