这是对以下问题的出色回答:ASPNET_REGIIS: Place AES key and IV into a KeyContainer
用于管理应加密的机密数据的适当方法是什么?
以前的发布集中在ASP.NET MVC上。我现在正在迁移到ASP.NET CORE,它以不同的方式处理web.config。具体来说,它将文件web.config从XML转换为JSON,并将其重命名为appsetting.json文件。好,很简单。
但是,安全性处理方式大不相同。具体来说,使用ASP.NET MVC,我可以加密web.config文件,并且应用程序可以正常运行。但是,在.NET CORE中,我被指示使用安全管理器,但要注意,它不会加密数据。那么,安全经理的目的是……呃……缺少安全性(如果我们用的是最真实,最纯正的含义)?
https://docs.microsoft.com/en-us/aspnet/core/security/app-secrets?view=aspnetcore-2.0&tabs=windows
Secret Manager工具不会对存储的机密进行加密,因此不应将其视为可信存储。它仅用于开发目的。键和值存储在用户配置文件目录中的JSON配置文件中。
这似乎还可以,因为我知道数据是通过用户密钥加密的。因此,只有我自己或计算机管理员才能读取数据。但后来我读到了:
请勿编写依赖于Secret Manager工具保存的数据的位置或格式的代码。这些实施细节可能会更改。例如,机密值未加密,但可能会在将来。
MVC并未施加CORE似乎可以确保的加密严格性,因为我可以在所需的任何环境中进行加密。我了解这个错误吗?