在我的一个项目中,我正在努力实现客户端和服务器之间在不安全网络上的安全TCP通信。起初我想把这个问题交给openssl,但我认为(由于超出这个问题范围的原因),我更愿意手动处理DSA密钥。虽然这部分很简单,但还有一个问题:我如何将公钥发送给服务器,同时确保没有MITM拦截这个密钥并将其替换为自己的密钥?
我一直在研究Diffie-Hellman密钥交换算法,但我还没有找到一种不重新发明轮子就能在我的代码中实现的方法,而且我也在为找到一个现有的库而苦恼,所以我决定退一步,简单地问一下。
有没有一个库或其他方法 可以让我安全地交换密钥 同时允许我手动应用密钥?基本上,我想自己进行实际的加密解密,但我需要一种可靠的方法来交换相关的公钥。
在linux上使用python 3.6.9。我可以使用openssl和常用的linux工具。