小编Joe*_*hek的帖子

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

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

Microsoft.IdentityModel.Tokens.SecurityTokenInvalidSignatureException:IDX10503:签名验证失败。尝试的密钥:'Microsoft.IdentityModel.Tokens.X509SecurityKey,KeyId:VWVIc1WD1Tksbb301sasM5kOq5Q Internal.Cryptography.CryptoThrowHelper+WindowsCryptographicException:Internal.Cryptography.Helpers.OpenStorageProvider(CngProvider provider) at System.KeySecurity.Cryptography.CngProvider provider) 发生内部错误。 Byte[] keyBlob, String curveName, CngKeyBlobFormat 格式, CngProvider provider) at System.Security.Cryptography.CngKey.Import(Byte[] keyBlob, CngKeyBlobFormat format) at Internal.Cryptography.Pal.X509Pal.DecodePublicKey(Oid oid, Byte[]在 Internal.Cryptography.Pal.CertificateExtensionsCommon.GetPublicKey[T](X509Certificate2 证书,

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

回顾一下:

  • dev box(iis express和iis)token签名验证成功
  • JWT.io 调试站点,token 和签名验证成功
  • 部署在服务器(iis 7.5)签名验证失败

它与我在服务器上的https证书有什么关系吗?在我的开发箱上,我使用的是用 powershell 创建的自签名证书。在服务器上,我们有一个由 go-daddy 颁发的证书。

谢谢你的帮助。

asp.net azure jwt asp.net-core-mvc openid-connect

0
推荐指数
1
解决办法
471
查看次数

标签 统计

asp.net ×1

asp.net-core-mvc ×1

azure ×1

jwt ×1

openid-connect ×1