【问题标题】:ADAL fails when FIPS is required需要 FIPS 时 ADAL 失败
【发布时间】:2014-12-09 00:29:19
【问题描述】:

我们的团队发现在启用了 FIPS 的服务器中使用 ADAL 2.12 时出现问题\需要。这是抛出的异常:

System.Reflection.TargetInvocationException:调用的目标已抛出异常。 ---> System.InvalidOperationException:此实现不是 Windows 平台 FIPS 验证的加密算法的一部分。 在 System.Security.Cryptography.SHA256Managed..ctor() --- 内部异常堆栈跟踪结束 --- 在 Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext.RunAsyncTask[T](任务`1 任务) 在 Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext.AcquireToken(字符串资源,ClientCredential clientCredential)

我还在调试器中捕获了原始异常,并找到了更详细的堆栈跟踪:

mscorlib.dll!System.Security.Cryptography.SHA256Managed.SHA256Managed() + 0xcf 字节
[本机到托管转换]
mscorlib.dll!System.Security.Cryptography.CryptoConfig.CreateFromName(string name, object[] args) + 0x46b 字节 mscorlib.dll!System.Security.Cryptography.SHA256.Create(string hashName) + 0xb 字节
Microsoft.IdentityModel.Clients.ActiveDirectory.dll!Microsoft.IdentityModel.Clients.ActiveDirectory.PlatformSpecificHelper.CreateSha256Hash(字符串输入)+ 0x41 字节
Microsoft.IdentityModel.Clients.ActiveDirectory.dll!Microsoft.IdentityModel.Clients.ActiveDirectory.AcquireTokenHandlerBase.LogReturnedToken(Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationResult 结果) + 0x91 字节
Microsoft.IdentityModel.Clients.ActiveDirectory.dll!Microsoft.IdentityModel.Clients.ActiveDirectory.AcquireTokenHandlerBase.PostRunAsync(Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationResult 结果) + 0x32 字节
Microsoft.IdentityModel.Clients.ActiveDirectory.dll!Microsoft.IdentityModel.Clients.ActiveDirectory.AcquireTokenHandlerBase.RunAsync.MoveNext() + 0xdf6 字节
mscorlib.dll!System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start(ref Microsoft.IdentityModel.Clients.ActiveDirectory.AcquireTokenHandlerBase.RunAsync stateMachine) + 0x161 字节
Microsoft.IdentityModel.Clients.ActiveDirectory.dll!Microsoft.IdentityModel.Clients.ActiveDirectory.AcquireTokenHandlerBase.RunAsync() + 0x13a 字节
Microsoft.IdentityModel.Clients.ActiveDirectory.dll!Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext.AcquireTokenForClientCommonAsync.MoveNext() + 0x130 字节 mscorlib.dll!System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start(ref Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext.AcquireTokenForClientCommonAsync stateMachine) + 0x171 字节
Microsoft.IdentityModel.Clients.ActiveDirectory.dll!Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext.AcquireTokenForClientCommonAsync(字符串资源,Microsoft.IdentityModel.Clients.ActiveDirectory.ClientKey clientKey,bool callSync)+ 0x17e 字节
Microsoft.IdentityModel.Clients.ActiveDirectory.dll!Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext.AcquireToken(字符串资源,Microsoft.IdentityModel.Clients.ActiveDirectory.ClientCredential clientCredential) + 0x7d 字节

有没有办法解决这个问题?通过反射器查看代码,似乎需要更新 ADAL 库本身来解决此问题。

【问题讨论】:

    标签: .net fips adal


    【解决方案1】:

    感谢您报告此事。我们为它打开了一个错误,并将在几天后发布的下一个服务版本中解决它。这是GitHub上的错误:

    https://github.com/AzureAD/azure-activedirectory-library-for-dotnet/issues/132

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-09-25
      • 2020-03-24
      • 2013-03-15
      • 2018-09-16
      • 1970-01-01
      • 2015-07-21
      • 1970-01-01
      相关资源
      最近更新 更多