AndroidおよびiOSモバイルアプリケーションにデータを提供するC#APIを作成しています。暗号化されたデータをモバイルアプリケーションに送受信する必要があります
そこで、非対称暗号化アルゴリズム[RSA]を使用しましたが、これに関してもう 1 つ質問があります。
- 公開鍵と秘密鍵を作成する最良の方法と、それらを保存する方法を教えてください。
- 公開鍵をプレーンテキストとして送信するのは書き込みですか? .pem ファイルとして送信する方法はありますか?
- モバイル アプリケーションと .net API の間で使用される公開鍵と秘密鍵の形式は何ですか?
この方法を使用して、公開鍵と秘密鍵を作成しました
public static Tuple<string, string> CreateKeyPair()
{
CspParameters cspParams = new CspParameters { ProviderType = 1 /* PROV_RSA_FULL */ };
RSACryptoServiceProvider rsaProvider = new RSACryptoServiceProvider(1024, cspParams);
string publicKey = Convert.ToBase64String(rsaProvider.ExportCspBlob(false));
string privateKey = Convert.ToBase64String(rsaProvider.ExportCspBlob(true));
return new Tuple<string, string>(privateKey, publicKey);
}
ただし、この関数はBase64Stringキーを返し、これはモバイル アプリケーションでは読み取れません。
ご意見をお聞かせください、