无效的签名密钥 IdentityServer4

Posted

技术标签:

【中文标题】无效的签名密钥 IdentityServer4【英文标题】:Invalid Signature Key IdentityServer4 【发布时间】:2017-07-31 14:17:02 【问题描述】:

我在使用 identityserver4 进行身份验证的应用程序中遇到了这个异常:

SecurityTokenInvalidSignatureException:IDX10503:签名验证失败。尝试的键:'Microsoft.IdentityModel.Tokens.RsaSecurityKey,KeyId: '。捕获的异常:''。令牌:'"alg":"RS256","typ":"JWT"."nbf":1501510053,"exp":1501510353,"iss":"http://localhost:5000","aud":"clientId ”, “随机数”: “636371068531446271.Nzc2YzRjZGMtN2M0Ny00MGZiLWI3NTQtN2Q2NWIxZGM5MWUyODY2MGE5NTgtYWMzNS00YWJmLWEyMDktNjcwMmJhYTlkYWJk”, “IAT”:1501510053, “c_hash”: “teGUAAIvU0EY9L1WzjfI2Q”, “SID”: “c870b6184744290472b157ce5992f8e0”, “子”: “a3915666-8586-476b-9166-b5b183af609e” "auth_time":1501508734,"idp":"local","amr":["pwd"]'。

目前,我没有证书可用于身份服务器中的登录凭据。所以我尝试了这段代码,有时可以,但我确定这是错误的。有人一步一步如何在没有 .pfx 证书的情况下使用 SignInCredentials?

var signinkey = new RsaSecurityKey(RSA.Create());

        var signingCredentials = new SigningCredentials(signinkey,
            SecurityAlgorithms.RsaSha256);

        // Adds IdentityServer
        services.AddIdentityServer()
            .AddSigningCredential(signingCredentials)
...

【问题讨论】:

【参考方案1】:

使用

services.AddIdentityServer().AddDeveloperSigningCredential()

这将在首次启动时为您创建一个随机 RSA 密钥对并将其缓存在磁盘上。

【讨论】:

好的,但是如果我的应用程序重新启动,我的令牌不会失效? 否 - 在您删除密钥文件之前,该密钥将被重新使用。 是的 - github.com/IdentityServer/IdentityServer4/blob/dev/src/…

以上是关于无效的签名密钥 IdentityServer4的主要内容,如果未能解决你的问题,请参考以下文章

错误 ITMS-90046:“无效的代码签名权利。具体来说,密钥 > 'com.apple.developer.associated-domains' 的值 '*'

“AADSTS5002730:无效的 JWT 令牌。 Azure Signal R 服务令牌的代表方案中出现“签名算法的密钥不受支持”错误

无效的密钥库格式

各种微服务中 JWT 的共享签名密钥

Xcode7:无效的代码签名权利

.NET:RS256 签名的 JWT 中的签名无效