0

我正在创建 C# API 为 android 和 iOS 移动应用程序提供数据,我需要以加密方式接收数据并将其发送到移动应用程序

所以我使用了非对称加密算法[RSA],对此我还有一个问题。

  1. 创建公钥和私钥的最佳方法是什么,以及如何存储它们。
  2. 是否将公钥作为纯文本发送,有没有办法将其作为 .pem 文件发送?
  3. 移动应用程序和 .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键,这在移动应用程序中不可读。

请指教,

4

0 回答 0