Я пытаюсь создать новый ключ publi c на основе закрытого ключа. Я хотел бы использовать что-то похожее на метод в измененной форме, чтобы сгенерировать новую пару ключей с одним и тем же закрытым ключом
public override string ToXmlString(bool includePrivateParameters)
{
RSAParameters rsaParameters = this.ExportParameters(includePrivateParameters);
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.Append("<RSAKeyValue>");
stringBuilder.Append("<Modulus>" + Convert.ToBase64String(rsaParameters.Modulus) + "</Modulus>");
stringBuilder.Append("<Exponent>" + Convert.ToBase64String(rsaParameters.Exponent) + "</Exponent>");
if (includePrivateParameters)
{
stringBuilder.Append("<P>" + Convert.ToBase64String(rsaParameters.P) + "</P>");
stringBuilder.Append("<Q>" + Convert.ToBase64String(rsaParameters.Q) + "</Q>");
stringBuilder.Append("<DP>" + Convert.ToBase64String(rsaParameters.DP) + "</DP>");
stringBuilder.Append("<DQ>" + Convert.ToBase64String(rsaParameters.DQ) + "</DQ>");
stringBuilder.Append("<InverseQ>" + Convert.ToBase64String(rsaParameters.InverseQ) + "</InverseQ>");
stringBuilder.Append("<D>" + Convert.ToBase64String(rsaParameters.D) + "</D>");
}
stringBuilder.Append("</RSAKeyValue>");
return stringBuilder.ToString();
}
какое будет значение для модуля, я полагаю, что экспонента остается прежней, модуль и экспонента оба байтовых массивов.