C# Web アプリが、対応する iOS モバイル デバイスの公開/秘密キーのペアを生成するビジネス ケースがあります。モバイル デバイスは公開鍵を使用してデータを暗号化し、サーバーに送り返します。
次の c# コードを使用しています。
const int PROVIDER_RSA_FULL = 1;
const string CONTAINER_NAME = "KeyContainer";
CspParameters cspParams;
cspParams = new CspParameters(PROVIDER_RSA_FULL);
cspParams.KeyContainerName = CONTAINER_NAME;
cspParams.Flags = CspProviderFlags.UseMachineKeyStore;
cspParams.ProviderName = "Microsoft Strong Cryptographic Provider";
var rsa = new RSACryptoServiceProvider(2048,cspParams);
rsa.PersistKeyInCsp = false;
string publicPrivateKeyXML = rsa.ToXmlString(true);
その後、rsa.ToXmlString を iOS アプリに、objective-c Crypto Libraries でサポートできる形式で取得する方法がわかりません。OpenSSLを使用せずに、iOSがデータを理解して暗号化するものにその公開鍵(モジュラス+指数)を変換するにはどうすればよいですか。この鍵の生成は (一度ではなく) 何度も行われ、新しいライブラリは使用前に承認を受ける必要があります。そのため、追加のライブラリを必要としない回答が好まれます。