ASP.NET Core Azure AD OpenID-生产服务器上的令牌签名验证失败

ASP.NET Core Azure AD OpenID-生产服务器上的令牌签名验证失败,asp.net,azure,asp.net-core-mvc,jwt,openid-connect,Asp.net,Azure,Asp.net Core Mvc,Jwt,Openid Connect,我有一个ASP.NET Core 1.1项目,使用Azure AD OpenID进行身份验证。身份验证在my dev box(windows 10)上运行良好,无论是在IIS express上还是在完整的IIS上。但是,当我将项目部署到服务器(服务器2008R2)时,在登录Microsoft重定向站点后,服务器会抛出以下错误: Microsoft.IdentityModel.Tokens.SecurityTokenInvalidSignatureException:IDX10503:签名验证失败

我有一个ASP.NET Core 1.1项目,使用Azure AD OpenID进行身份验证。身份验证在my dev box(windows 10)上运行良好,无论是在IIS express上还是在完整的IIS上。但是,当我将项目部署到服务器(服务器2008R2)时,在登录Microsoft重定向站点后,服务器会抛出以下错误:

Microsoft.IdentityModel.Tokens.SecurityTokenInvalidSignatureException:IDX10503:签名验证失败。尝试的密钥:“Microsoft.IdentityModel.Tokens.X509SecurityKey,KeyId:vwvic1wd1tksbb301asm5koq5q Internal.Cryptography.CryptothWhelper+WindowsCryptographyException:发生内部错误 位于Internal.Cryptography.Helpers.OpenStorageProvider(CngProvider提供程序) 在System.Security.Cryptography.CngKey.Import(字节[]keyBlob,字符串curveName,cngkeyblob格式,CngProvider提供程序) 在System.Security.Cryptography.CngKey.Import(字节[]keyBlob,cngkeyblob格式) 在内部.Cryptography.Pal.X509Pal.DecodePublicKey(Oid Oid,字节[]encodedKeyValue,字节[]encodedParameters,ICertificatePal certificatePal) 在内部.Cryptography.Pal.CertificateExtensionsCommon.GetPublicKey[T](X509Certificate2证书,谓词'1匹配约束) 在Microsoft.IdentityModel.Tokens.X509SecurityKey.get_PublicKey()上 位于Microsoft.IdentityModel.Tokens.CryptoProviderFactory.IsupportedAlgorithm(字符串算法,SecurityKey) 位于System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler.ValidateSignature(字节[]encodedBytes,字节[]签名,SecurityKey密钥,字符串算法,TokenValidationParameters validationParameters) 位于System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler.ValidateSignature(字符串令牌,令牌验证参数validationParameters)

当我从Azure接收令牌并将其插入JWT.io时,它会成功验证签名

重述:

  • dev box(iis express和iis)令牌签名验证成功
  • JWT.io调试站点、令牌和签名验证成功
  • 部署在服务器(iis 7.5)上的签名验证失败
这与我在服务器上的https证书有关吗?在我的开发盒上,我正在使用使用powershell创建的自签名证书。在服务器上,我们有go daddy颁发的证书


感谢您的帮助。

问题在于运行应用程序池的身份。权限不够高。

问题在于运行应用程序池的标识。权限不够高。

当“CNG密钥隔离”Windows服务未运行时,也会发生此异常


请参阅

当“CNG钥匙隔离”Windows服务未运行时,也会发生此异常


这让我又多抓挠了几个小时!谢谢你!!那篇文章的最后两句话就是解决办法。这让我避免了在更多的时间里挠头!谢谢你!!这篇文章的最后两句就是解决办法。你知道需要什么权利吗?那会有很大帮助。你知道需要什么权利吗?那会有很大帮助。