Jose.JWT.Encode给出了无效算法指定的异常

时间:2018-02-01 13:50:04

标签: c# c#-4.0 jwt json-web-token

我使用.Net45框架 我想要证书文件中的令牌。

var privateKey=new X509Certificate2("my-key.p12", "password", X509KeyStorageFlags.Exportable | X509KeyStorageFlags.MachineKeySet).PrivateKey as RSACryptoServiceProvider;
string token=Jose.JWT.Encode(payload, privateKey, JwsAlgorithm.RS256);

上面的代码给出了无效算法异常..

但同时当我转向net4.6时,它可以使用以下代码。

var privateKey=new X509Certificate2("my-key.p12", "password").GetRSAPrivateKey();
string token=Jose.JWT.Encode(payload, privateKey, JwsAlgorithm.RS256);

你能否对这个问题提出任何建议?

1 个答案:

答案 0 :(得分:0)

重新导入密钥将起作用。

有不同的解决方法,最简单的方法是重新导入密钥以获得有效的提供程序实现。

请参阅以下网址以获取进一步说明。

https://github.com/dvsekhvalnov/jose-jwt#rsacryptoserviceprovider