1

我们有这个商业案例,我们的 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 以它可以与 Objective-c 加密库支持的格式获取到 iOS 应用程序。如何在不使用 OpenSSL 的情况下将公钥(模数 + 指数)转换为 iOS 可以理解和加密数据的东西。这个密钥生成会发生很多(不是一次),任何新的库都必须在使用前获得批准。因此,不需要额外库的答案受到青睐。

4

1 回答 1

0

请使用此参考中的此 C#,此类将生成 SSh pem 样式的公共和私有 RSA 密钥:

示例类

于 2018-05-28T00:41:25.580 回答