私は新しい公開鍵/秘密鍵のペアを生成し、XML文字列としてエクスポートしました:C#でのRSA暗号化:どの部分が公開鍵を定義していますか?
RSACryptoServiceProvider RSA = new RSACryptoServiceProvider(2048);
string publicPrivateKey = RSA.ToXmlString(true);
publicPrivateKeyでXML文字列は、この(文字列が読みやすくするために短縮されている)のようになります。
<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のどの部分が公開鍵を定義するのか/他のアプリの開発者にどの部分を送る必要がありますか?
反対側:公開鍵で暗号化されたデータを復号化するために秘密鍵/パーツ/パーツを定義するものは何ですか?
私はあなたが '.ToXmlString(false)'を意味すると思います。 http://msdn.microsoft.com/en-us/library/system.security.cryptography.rsa.toxmlstring.aspxは、boolがincludePrivateParametersであることを示します。 –
よろしくお願いいたします。だから、私はこのXML(RSA.ToXmlString(false);)を開発者に送ることができ、PHP、JAVAなどでデータを暗号化できるようになりますか? – Mike
@Mike、理想的な世界ではそうです:)しかし、あなたから必要な公開鍵フォーマットについて質問し、このフォーマットで鍵を提供する必要があります。答えからのリンクを使うと、それらを使って公開鍵を再生成するのは簡単です。 – VMAtm