【问题标题】:Failed to encrypt the section "appSettings" using provider "MyProvider". Error message from the provider: Object already exists无法使用提供程序“MyProvider”加密“appSettings”部分。来自提供者的错误消息:对象已存在
【发布时间】:2020-11-15 11:01:41
【问题描述】:

这个问题已经被问过很多次,但接受的答案不适用于这种情况。这不是重复的。

从服务器上的命令提示符以管理员身份打开,我运行 aspnet_regiis 命令以使用自定义提供程序加密我的 web.config 的 appSettings 部分。 成功!成功了。我在文本编辑器中检查了 web.config,该部分确实是加密的。当我访问该部分中的设置时,它会被透明地解密。完美。

我想向该部分添加另一个值,并在我的开发 PC 上执行此操作,将新的纯文本 web.config 文件复制到服务器,覆盖旧副本。然后我重复命令:

aspnet_regiis -pef "appSettings" "c:\inetpub\wwwroot\foo" -prov "MyCustomEncryptionProvider" 

this是错误发生的时间。

哪个对象已经存在?错误消息指的是什么?覆盖旧文件是否导致此错误?如果是这样,我该如何解决?我已经尝试解密我复制到服务器的 plain-text 版本的文件(我得到了成功!这样做时的消息),然后重新加密,但是“对象已存在”错误仍然存​​在。

【问题讨论】:

    标签: encryption iis-10 aspnet-regiis.exe


    【解决方案1】:

    找到了答案。在第一次成功加密和第二次加密失败之间,我的域身份已从对 MachineKeys 文件夹具有 ACL 读取权限的安全组中删除:

    \server1\c$\ProgramData\Microsoft\Crypto\RSA\MachineKeys

    我的域身份已重新添加到该组中,并且一切正常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-27
      • 2011-12-25
      • 1970-01-01
      • 2017-09-13
      • 1970-01-01
      • 1970-01-01
      • 2013-04-14
      • 1970-01-01
      相关资源
      最近更新 更多