我使用.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);
你能否对这个问题提出任何建议?
答案 0 :(得分:0)
重新导入密钥将起作用。
有不同的解决方法,最简单的方法是重新导入密钥以获得有效的提供程序实现。
请参阅以下网址以获取进一步说明。
https://github.com/dvsekhvalnov/jose-jwt#rsacryptoserviceprovider