无效的签名密钥IdentityServer4

时间:2017-07-31 14:17:02

标签: asp.net-core asp.net-identity identityserver4

我在使用identityserver4的经过身份验证的应用程序中遇到此异常:

  

SecurityTokenInvalidSignatureException:IDX10503:签名验证失败。密钥尝试:' Microsoft.IdentityModel.Tokens.RsaSecurityKey,KeyId:    &#39 ;.例外情况发生了:''。令牌:' {" alg":" RS256"," typ":" JWT"}。{" nbf& #34;:1501510053,"&EXP#34;:1501510353," ISS":" http://localhost:5000"" AUD":& #34;的clientId""随机数":" 636371068531446271.Nzc2YzRjZGMtN2M0Ny00MGZiLWI3NTQtN2Q2NWIxZGM5MWUyODY2MGE5NTgtYWMzNS00YWJmLWEyMDktNjcwMmJhYTlkYWJk"" IAT":1501510053," c_hash":&# 34; teGUAAIvU0EY9L1WzjfI2Q"" SID":" c870b6184744290472b157ce5992f8e0""子":" a3915666-8586-476b-9166-b5b183af609e" " auth_time":1501508734," IDP":"本地"" AMR":[" PWD"]} '

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

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

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

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

1 个答案:

答案 0 :(得分:2)

使用

services.AddIdentityServer().AddDeveloperSigningCredential()

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