Как правильно передать RSAParameters?

Сабж.
Пробую string json = JsonSerializer.Serialize<RSAParameters>(_publicKey); в ответ получаю "{}"
По этому делаю так

var sw = new StringWriter();
var xs = new XmlSerializer(typeof(RSAParameters));  
xs.Serialize(sw, _publicKey);
string stringKey = sw.ToString();

Далее так

Keys key = new Keys(stringKey);

В этом классе просто string поле в которое я пишу XML.

 string json = JsonSerializer.Serialize<Keys>(key);

И эту строку передаю POST запросом в контроллер другого приложения.

Зачем XML пихать в класс а потом класс в json? Ну у меня просто не получилось в контролере принять строку XML.

В контролере я принимаю объект, десереализую, и записываю строку с XML в файл, получается что то подобное

<?xml version="1.0" encoding="utf-16"?>
<RSAParameters xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Exponent>AQAB</Exponent>
  <Modulus>rpB3UeQPCwikIsZxy19KKkhH0/PtgOV11aMNi5hB6zYiIM4p1rN0tJDYFqTbd98ajk4pff+/IiZ9Iy/gsuW1JUVgaZcw6b1M85cKdz3Ws3Ewc5j6Ub80mmK1xbGq599zJPQmj2fJ7p8bqM8i6WeVQxD87/vrycwVDtXCD/4SI5UOk1DFja4NVSPKmTxjU4XejAGw8HlhhE5UB48SfppdJHdiFuMhO8LDxgRFEim6fIyymzl9IuVc+CRObRzIyeSXQd0+8ldeFkKao+MTJcVq1cHWCpfZF4zVO6L37xG5Sz18a4s7NBfIv9owt6XpcRgl/bv1FgpFPwhWYFlN+iq/eQ==</Modulus>
</RSAParameters>

Далее я пытаюсь десереализовать этот файл но получаю ошибку

public RSAParameters _publicKey;
XmlSerializer formatter = new XmlSerializer(typeof(RSAParameters));
using (FileStream fs = new FileStream("note.xml", FileMode.OpenOrCreate))
{
    publicKey = (RSAParameters)formatter.Deserialize(fs);
}

Ошибка

There is an error in XML document (0, 0).

Смысл этого всего в том что я хочу отправить публичный ключ, а в ответ получить зашифрованное сообщение этим ключом, а потом расшифровать его.


Ответы (0 шт):