【问题标题】:Exchange keys using RSA and certificate使用 RSA 和证书交换密钥
【发布时间】:2014-09-03 18:58:30
【问题描述】:

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

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

问题是:这个解决方案的效果如何,是否足够安全以抵御攻击?

【问题讨论】:

  • 是的,没关系。 “这个解决方案的效果如何?” ---从什么角度有效?
  • 我的意思是它适用于商业应用
  • “是否适用于商业应用”---什么意思?
  • 对不起,我的表达不好,我的意思是这个程序可以是一个专业的工作
  • 从我的拙见 - 整个想法很明显,很好,是的。

标签: c# encryption key messenger


【解决方案1】:

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


来自here 的图像和 TLS 描述。

在每次握手时发送公钥证书不是强制性的,因为它们可能在另一端已经知道。公钥证书通常也可以从颁发的证书颁发机构下载。

【讨论】:

  • “因为他们可能已经在另一边知道了”——重要的是不要忘记撤销机制。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-04-02
  • 1970-01-01
  • 1970-01-01
  • 2020-01-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多