プライムとCRTパラメータが無い場合は、RsaKeyParameter(true) で生成すること!
それ以外はRsaPrivateCrtKeyParameters()(こっちの方が処理が速い)
public static RsaKeyParameters ToRsaPrivateKey(this Jwk jwk)
{
System.Diagnostics.Debug.Assert(jwk.kty == Jose.Jwa.KeyType.RSA);
// Private Key
if( jwk.p == null )
{
return new RsaKeyParameters(true,
jwk.n, jwk.d);
}
return new RsaPrivateCrtKeyParameters(
jwk.n, // Modulus
jwk.e, // Pulbic Exponent
jwk.d, // Private Exponent
jwk.p, // 1st Prime
jwk.q, // 2nd Prime
jwk.dp, // 1st Factor CTR exponent
jwk.dq, // 2nd Factor CTR exponent
jwk.qi // 2nd Factor CTR exponent
);
//TODO: "oth" (Other Prime Info パラメータ)はどうする?
}