C# 无法解密提供的有效负载,因为它在/connect/endsession/callback上未受此保护提供程序的保护

C# 无法解密提供的有效负载,因为它在/connect/endsession/callback上未受此保护提供程序的保护,c#,.net-core,identityserver4,asp.net-core-3.1,C#,.net Core,Identityserver4,Asp.net Core 3.1,有一个.net core 3.0 web应用程序,其中包含IdentityServe4。应用程序托管在Azure Web场上。 在日志中,我发现了消息中的几个异常: 读取受保护消息时发生异常-无法解密提供的有效负载,因为它未受此保护提供程序的保护 请求路径:/connect/endsession/callback 堆栈跟踪: System.Security.Cryptography.CryptographicException: at Microsoft.AspNetCore.DataProte

有一个.net core 3.0 web应用程序,其中包含IdentityServe4。应用程序托管在Azure Web场上。 在日志中,我发现了消息中的几个异常:

读取受保护消息时发生异常-无法解密提供的有效负载,因为它未受此保护提供程序的保护

请求路径:
/connect/endsession/callback

堆栈跟踪:

System.Security.Cryptography.CryptographicException:
at Microsoft.AspNetCore.DataProtection.KeyManagement.KeyRingBasedDataProtector.UnprotectCore 
(Microsoft.AspNetCore.DataProtection, Version=3.1.8.0, Culture=neutral, 
PublicKeyToken=adb9793829ddae60)
at Microsoft.AspNetCore.DataProtection.KeyManagement.KeyRingBasedDataProtector.DangerousUnprotect 
(Microsoft.AspNetCore.DataProtection, Version=3.1.8.0, Culture=neutral, 
PublicKeyToken=adb9793829ddae60)
at Microsoft.AspNetCore.DataProtection.KeyManagement.KeyRingBasedDataProtector.Unprotect 
(Microsoft.AspNetCore.DataProtection, Version=3.1.8.0, Culture=neutral, 
PublicKeyToken=adb9793829ddae60)
at IdentityServer4.Stores.ProtectedDataMessageStore`1.ReadAsync (IdentityServer4, Version=3.1.3.0, 
Culture=neutral, PublicKeyToken=f294d0afe402bb2b)
数据保护设置:

services.AddDataProtection()
        .PersistKeysToAzureBlobStorage(container, keyStorage.Path)
        .ProtectKeysWithAzureKeyVault(client, keyEncryption.KeyIdentifier)
最近,我们增加了
services.AddOidcStateDataFormatterCache(schemes)
SQL分布式
缓存实现


是否有人知道发生此异常的原因以及如何修复它?

可能是创建数据保护API密钥的代码已更改? 是否有许多应用程序使用相同的密钥环存储

我刚刚在博客中介绍了如何使用数据保护API以及如何在Azure key Vault中存储密钥环:


错误表示客户端和服务器(包括证书)未使用相同的加密算法(和设置),因此服务器无法验证密钥。如果删除了最近的增强功能,代码是否有效?五年前,由于安全问题,业界取消了TLS 1.0/1.1,并要求使用TLS 1.2/1.3。6月,微软推出了一项安全更新,在服务器上禁用了TLS 1.0/1.1。我以前没有看到您的异常,所以我不确定您的更改是否导致了异常,或者异常是由于客户端使用TLS 1.0/1.1,服务器拒绝连接造成的。谢谢您的回复,假设正确。问题是代码正在运行,我无法复制它。但我经常看到it应用程序透视日志。不知道多长时间才会发生错误。在启动请求时是否应该删除日志文件?请参阅:我只有一个应用程序,即webfarm。有什么警告吗?顺便说一句,好文章,谢谢。如果您简要介绍一下关键点的轮换和在WebFarm中使用的具体方法(当然,如果有的话)会很有用。是的,有几个问题,例如