我正在尝试在使用 DataProtectionProvider 以自托管方式运行应用程序时加密字符串。然后我需要在 IIS 中托管同一个应用程序时解密该字符串。我发现这不起作用。当我尝试取消保护自托管或在 IIS 中的 IIS Express 中受保护的密钥时,我得到一个 cryptographicException '密钥 {} 未在密钥环中找到'。
我在注册数据保护时尝试了这些选项,并确保应用程序名称和用途相同。自托管和 IIS Express 似乎使用相同的密钥,而 IIS 使用另一个密钥。
有人知道我如何强制自托管实例使用与 ISS 实例相同的密钥吗?
我正在开发并部署到安全的离线环境,因此无法使用 redis 或 azure key vault。
我正在努力在网上找到解决方案,所以希望有人知道解决这个问题的方法。
谢谢
保罗