使用RSA和证书交换密钥

时间:2014-07-13 20:16:51

标签: c# encryption key messenger

我打算写一个加密的信使,所以我在网上搜索。但是,大多数代码和教程都没有讨论这个想法:

对于密钥交换,我们有以下步骤:
1.当Alice安装程序时,Alice(客户端)有bob的证书(服务器) Alice生成公钥和私钥 2. Alice使用存储在证书中的Bob公钥加密她的公钥,然后将其发送到服务器(Bob)。 3. Bob接收加密的客户端密钥,使用他的私钥对其进行解密,然后启动消息传递会话。

问题是:此解决方案的效果如何,是否足以抵御攻击?

1 个答案:

答案 0 :(得分:0)

您可以使用Transport Layer Security protocol TLS,而不是发明自己的证书交换方案。 TLS通信以握手开始。

enter image description here
来自here的图片和TLS说明。

在每次握手中都不必发送公钥证书,因为它们可能在另一方面已知。公钥证书通常也可以从颁发证书颁发机构下载。