【发布时间】:2019-07-23 16:48:57
【问题描述】:
我正在尝试使用公钥验证我的 JWT,但出现如下所示的异常;你能帮我解决这个问题吗?
在下面调用时出错;
var certificate = new X509Certificate2(Convert.FromBase64String(key));
代码片段是:
var publicKey = "-----BEGIN PUBLIC KEY----- MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCiHpDUH0AtBRNvqEblOeVyviJZ 4UV2LwGiWrSIysK4sL3mToAgDz11MWvo+yycMmwjCiFAQgF4vspzTAexJ6+ZIvbi WRGdJiaqqja2xMRZkDJuJF2rN5CrbNhKrmyM1+weud2jhIHXdxkbJb89oRrbOvfh yWuY8J7pPFiTnzH9sQIDAQAB -----END PUBLIC KEY-----";
var key =
"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCiHpDUH0AtBRNvqEblOeVyviJZ 4UV2LwGiWrSIysK4sL3mToAgDz11MWvo+yycMmwjCiFAQgF4vspzTAexJ6+ZIvbi WRGdJiaqqja2xMRZkDJuJF2rN5CrbNhKrmyM1+weud2jhIHXdxkbJb89oRrbOvfh yWuY8J7pPFiTnzH9sQIDAQAB";
var token = "eyJraWQiOiIwZTIwZjU0NC00ZmQzLTQ4YTYtOGUzMi01NWUwNTJiMDI2ODIiLCJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJzdWJqZWN0IiwiYXVkIjoiYXVkaWVuY2UxIiwibWVtYmVySW5mbyI6eyJNZW1iZXJzaGlwTnVtYmVycyI6WyIwMzUzNzUzMjkwIiwiMDM4MTQxMDI1OCJdLCJMaWZldGltZUlkcyI6WyIzMzUzNzUzMjkwMDEiXSwiQm9zc0lkcyI6WyIxMjM0NTY3OCIsIjE2NTI0MTUyIiwiMTg5OTEyMzQiXSwiQ2hlZXJzSWRzIjpbIjU2NzgxMjM0Il0sIlVzZXJDb250ZXh0IjoiR0JCVVBBR1JPVVBcXFNWQ19zd2lmdHdlYnRlc3QiLCJSZXF1ZXN0UGFyYW1ldGVycyI6bnVsbH0sImlzcyI6Imh0dHBzOi8vYnVwYWRldi1xYS5hcGlnZWUubmV0IiwiZXhwIjoxNTMyMjA2NDc1LCJpYXQiOjE1MzIxNzc2NzUsImp0aSI6IjZlOThmOTU2LTdlZTUtNGQxYy1iN2M4LWUwNGNlNzlkZjZjZSJ9.jC7-bVSaxAGNLk2d--8fksH_9PKgo3TgIALynlwkUOC3AE79MrLaqCRGp0yT2wqfFJ5kRGJFyUu_EP3_3YE6d4XS5yhghaFrkewwUHt4eV56qYOFf4RIC_CiX_OcK8vXSEpeMt6jKN-f7iDP6fo2NqmYH07_ZJM0LXc7S5WAQDQ";
var certificate = new X509Certificate2(Convert.FromBase64String(key));
var validationParameters = new TokenValidationParameters
{
IssuerSigningTokens = new[] { new X509SecurityToken(certificate) }
};
SecurityToken validatedSecurityToken = null;
var handler = new JwtSecurityTokenHandler();
try
{
handler.ValidateToken(token, validationParameters, out validatedSecurityToken);
}
catch (Exception ex)
{
}
【问题讨论】:
-
你得到什么错误?
标签: c# jwt x509certificate2