我想手动加密套接字上来回的字节,换句话说,我想在客户端和服务器中自己进行加密和解密。以安全方式交换 pub/priv key 的程序是什么?我非常想做 HTTPS 在浏览器级别、套接字级别所做的事情,但我想自己做,而不是使用已经为我做这件事的 SSLSocket。我想理解和学习,而不是在高级 SSLSocket 类中将其视为理所当然。
谢谢!
<小时/>哇!从这里的评论来看,最好做一个 SSH 隧道然后忘记它,对吗?
最佳答案
天啊!您想要实现 Diffie-Hellman Key Exchange ?这需要一些时间。基本上,您将使用同步 key 加密,而不是公钥-私钥。使用数学,您可以通过不安全的连接交换 key 。然后,一旦交换了该 key ,您就可以使用它来加密您的数据。
如果您想使用public key cryptography ,那么您实际上并没有交换 key 。服务器和客户端都有公钥和私钥(总共 4 个 key )。您可以自由地广播公钥,但私钥保持私密。这也需要一些时间。
您要做的事情大约需要一周时间,至少需要 2-3 个类文件。仅供引用,它可能会出现错误并且不具有加密安全性。 Cryptography is hard .
关于java - 如何手动加密套接字连接的流量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20692425/