Я конвертирую JWK в RSA, используя код ниже. Кажется, это работает в. net ядре 2, но преобразование JWK в RSA в. net ядре 3 выдает ошибку во время выполнения:
Ошибка: System.Security.Cryptography.CryptographicException: «Указанные параметры RSA недействительны; и Exponent, и Modulus являются обязательными полями. '
Дана ошибка
Есть ли альтернатива этому?
private RSA GetRSAKeyfromJWK(JwkKey jwk)
{
byte[] p = Base64Url.Decode(jwk.p);
byte[] q = Base64Url.Decode(jwk.q);
byte[] d = Base64Url.Decode(jwk.d);
byte[] e = Base64Url.Decode(jwk.e);
byte[] qi = Base64Url.Decode(jwk.qi);
byte[] dq = Base64Url.Decode(jwk.dq);
byte[] dp = Base64Url.Decode(jwk.dp);
byte[] n = Base64Url.Decode(jwk.n);
RSA rsaKey = RSA.Create();
RSAParameters keyParams = new RSAParameters
{
D = d,
DP = dp,
DQ = dq,
Exponent = e,
InverseQ = qi,
Modulus = n,
P = p,
Q = q
};
rsaKey.ImportParameters(keyParams);
return rsaKey;
}