密钥不可变性和 ASP.NET Core 中的密钥设置

后一个对象被保存到后备存储,它的表示形式是永久固定的。 新的数据可以添加到后备存储,但可以永远不会改变现有数据。 此行为的主要目的是为了防止数据损坏。

此行为的一个后果是,一旦密钥将写入后备存储,它是不可变。 其创建、 激活和到期日期可以永远不会更改,但它可以通过使用吊销IKeyManager 此外,其基础的算法信息、 主密钥密钥材料和 rest 属性静态加密也是不可变。

如果开发人员更改会影响密钥持久性的任何设置,这些更改不会起开始下一次生成一个密钥,通过显式调用之前IKeyManager.CreateNewKey或通过数据保护系统的自己自动密钥生成行为。 影响密钥持久性的设置如下所示:

如果需要这些设置,以开始执行下一步的自动密钥滚动时间之前,请考虑进行显式调用IKeyManager.CreateNewKey强制创建新密钥。 请记住,若要提供显式激活日期 ({现在 + 2 天} 是一个很好的经验以留出时间进行传播的更改) 的调用中的有效期范围之内。

提示

触摸存储库中的所有应用程序应指定相同的设置IDataProtectionBuilder扩展方法。 否则,持久化密钥的属性将取决于特定调用密钥生成例程的应用程序。

上一篇:在 ASP.NET Core 中存放的密钥加密

下一篇:在 ASP.NET Core 中的密钥存储格式

关注微信小程序
程序员编程王-随时随地学编程

扫描二维码
程序员编程王

扫一扫关注最新编程教程