【问题标题】:How to reset DPAPI key into the key ring?如何将 DPAPI 密钥重置为密钥环?
【发布时间】:2022-01-04 17:50:13
【问题描述】:

我是使用 DPAPI 的新手,所以这是我在我的应用程序上搞砸的东西,因为我一直在我的工作笔记本电脑和我的个人桌面之间重新部署,所以现在 DPAPI 用来保护我的数据的密钥已经改变环境之间。

现在我收到密钥不在密钥环中的错误。

我点击this answer,其中提供的链接讨论了配置密钥存储,因此我更新了代码以将密钥持久保存到文件系统(同时我等待系统管理员返回,以便他可以在 azure 上设置 blob 存储作为替代方案) 无论如何这对开发人员来说应该可以正常工作。

var path = this.Environment.ContentRootPath + "/Data/Keys/";
services.AddDataProtection()
    .PersistKeysToFileSystem(new DirectoryInfo(path));

我可以看到正在创建的密钥文件,但错误仍然存​​在,因为我没有拥有该应用正在寻找的密钥。

那么我怎样才能让它在这里生成/使用/查找新密钥?

【问题讨论】:

    标签: c# asp.net-core dpapi


    【解决方案1】:

    奇怪的是,似乎完全重新初始化应用程序的数据库解决了这个问题。

    我的猜测是它与我存储在其中的加密值有关(DPAPI IDataProtector.Protect() 输出值)。特别是这些值是用我认为是应用程序报告的密钥加密的事实。

    使用新数据重新初始化数据库后,现在一切正常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多