Chr*_*ris 1 c# client-server rsa
我可以创建服务器和客户端的非对称密钥,然后导出它们并尝试交换它们。我的问题,我一直无法找到解决方案,是我想将服务器的公钥导入客户端程序。它以字节 [] 的形式出现,但我需要能够将其用作 RSAParameters 才能加密数据以发送到服务器。如何将 byte[] 转换为 RSAParameters 类型?
private void secureButton_Click(object sender, EventArgs e)
{
clientRSA = new RSACryptoServiceProvider();
byte[] clientPublicKey = clientRSA.ExportCspBlob(false);
stm.Write(clientPublicKey, 0, clientPublicKey.Length);
stm.Read(serverPublicKey, 0, serverPublicKey.Length);
}
Run Code Online (Sandbox Code Playgroud)
我知道这不是一种“安全”的方法,因为它容易受到 MITM 的影响,但我正面临学校的最后期限,这是我需要克服的砖墙,才能继续进行下去。
任何帮助,将不胜感激。提前致谢。
我会继续把这个作为答案,然后:
我从来没有做过 blob,但我通常做的是RSACryptoServiceProvider.ToXMLString()用来导出到 XML。然后我将该 XML 放在我的应用程序的资源中,然后在将来用于RSACryptoServiceProvider.FromXMLString()加载关键参数。
您不必保护公钥。这是公开的
| 归档时间: |
|
| 查看次数: |
5828 次 |
| 最近记录: |