0

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

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

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

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

是发生错误的时候。

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

4

1 回答 1

0

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

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

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

于 2020-07-25T19:58:07.057 回答