考虑客户端服务器场景,您有两个选择:
- 您可以包含服务器的公钥 在客户端中并执行交换。
- 你可以使用 Diffie Hellman KeyExchange算法握手 然后交换 key 。
哪种方式更安全? 另外,如果公钥来自商店,比如来自客户端 CA 商店?它会比在客户端应用程序中绑定(bind)更安全吗?
部署将通过安装程序完成,并在每次运行时验证版本。
最佳答案
通过(仅)DH key 交换,客户端无法知道它确实是他正在与之交谈的服务器。
因此对话是安全的,不会被窃听,但有人可能会伪装成服务器并危及客户端。
关于c++ - 公钥或 Diffie-Hellman key 交换算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1031772/