Я сгенерировал новую пару открытого / закрытого ключа и экспортировал ее в виде строки XML:
RSACryptoServiceProvider RSA = new RSACryptoServiceProvider(2048);
string publicPrivateKey = RSA.ToXmlString(true);
Строка XML в publicPrivateKey выглядит следующим образом (строки сокращены для удобства чтения):
<RSAKeyValue>
<Modulus>t6tLd1Wi7PEkwPfx9KGP1Ps/5F2saXnOsCE2U....</Modulus>
<Exponent>AQAB</Exponent>
<P>3LJ5y4Vla7cS3XgmbIH5dQgppUHa+aSWavEOCbDRS/M....</P>
<Q>1QyGIAnjv4YLcRVdwXtxWkijc+aZ496qIBZnCAUUD/E....</Q>
<DP>0821dc0f+LBKOqIEvj4+2kJrNV5ueQesFBYkEsjPFM....</DP>
<DQ>ugSzX2oDJwjdGKG1OOiVcmUWAm6IU4PpOxcUYtY8TC....</DQ>
<InverseQ>LDQIQu+LSB6CSZBrGxNQthWi9mkuPGVZyDDr....</InverseQ>
<D>qZm2bXKH8WwbsJ8ZlT3S1TbgUifppLrqSRkb8XqEcMv....</D>
</RSAKeyValue>
Сгенерированный открытый ключ должен использоваться в других приложениях (PHP / JavaScript / JAVA) для шифрования данных.Какая часть вышеуказанного XML-кода определяет открытый ключ / какую часть я должен отправить разработчикам других приложений?
И на противоположной стороне: Что определяет закрытый ключ / какую часть / части я долженнужно хранить, чтобы иметь возможность расшифровывать данные, зашифрованные моим открытым ключом?