加密商店不可用 | AWSSDK C

The encrypted store is not available | AWSSDK C

我在使用 AWSSDK v 3.5.1.58 时遇到以下异常:

The encrypted store is not available. This may be due to use of a non-Windows operating system or Windows Nano Server, or the current user account may not have its profile loaded.

这是因为应用程序无法使用 crypt32.dll。现在这很奇怪,因为该文件位于 Server 2019 和 IIS 10 的 System32 运行 中。没有关于此的真实文档。我正在使用 ADFS 身份验证。 FederatedAWSCredentials

这在本地开发上工作正常,但一旦部署就不行了。

可在此处找到生成错误的文件:https://github.com/aws/aws-sdk-net/blob/133eddb00a3fbd2ab395e01c3d84ac9fe1ff38b2/sdk/src/Core/Amazon.Util/Internal/SettingsManager.cs 第 213 行

所以问题出在 IIS 中。

我是 运行 应用程序池作为需要进行身份验证的用户,这是正确的。但您还需要设置以下内容:

Application Pool -> Advanced Settings -> Process Model -> Load User Profile = True

  1. RDP 到您的服务器
  2. 然后按照图片中的步骤操作