[英]How do I set the public and private key on RSAParameters to use for RSACryptoServiceProvider?
[英]How Can I Set RSAParameters (of RSACryptoServiceProvider) to an RSA Public Key Directly
創建必要的驗證參數以便調用JwtSecurityTokenHandler ValidateToken()...
我知道我可以這樣做:
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
rsa.ImportParameters(new RSAParameters()
{
Modulus = "",
Exponent = ""
});
var validationParameters = new TokenValidationParameters
{
IssuerSigningKey = new RsaSecurityKey(rsa)
};
我想直接設置公鑰,而不是分別設置模量和指數。 如何才能做到這一點?
如果您保存的密鑰看起來像xmldsig RSAKeyValue( <RSAKeyValue><Modulus>base64</Modulus><Exponent>base64</Exponent></RSAKeyValue>
),並且您不在.NET Core上,則可以使用rsa.FromXmlString(keyString)
。
如果您保存的密鑰格式更改為CAPI Blob的byte[]
表示形式,則可以使用rsa.ImportCspBlob(keyBlob)
。
如果您保存的密鑰格式更改為CNG Blob的byte[]
表示形式,則可以使用new RSACng(CngKey.Import(blob, blobType))
否則,您將擁有最少的代碼,並具有以下幾點想法:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.