远程加密

dys本身不支持加密传输,需要借助dy_tls_server完成数据加密传输。 dy_tls_server使用 tls1.3 对数据进行加密传输。 admin tls connection
如上图,有四台电脑分别运行dy, dys, dy_tls_client, dy_tls_server, 其ip地址和监听端口如图中所示。

数据传输过程: dy --> dy_tls_client, 加密 --> dy_tls_server, 解密 --> dys,返回数据 --> dy_tls_server, 加密 --> dy_tls_client, 解密 --> dy

设置dy_tls_server

使用Openssl生成证书

# private key pkcs8 format
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout key.pem -out cert.pem -subj "/CN=localhost"

如果需要更安全的加密,将上述 rsa:2048 换成 rsa:4096

查看证书指纹

openssl x509 -fingerprint -sha256 -in cert.pem

运行dy_tls_server

dy_tls_server.exe -l 0.0.0.0:7001 -t 192.168.2.11:7000 -c cert.pem -k key.pem

运行dy_tls_client

dy_tls_client.exe -l 0.0.0.0:7000 -t 192.168.2.10:7001

使用指纹验证连接

如果服务器的证书的指纹与指定的相同,才能建立连接

dy_tls_client.exe -l 0.0.0.0:7000 -t 192.168.2.10:7001 -f BD:97:H3:72:1A:7C:BB:N5:8C:27:87:65:5C:11:54:D1:F4:32:6B:DC:C3:72:AB:D8:9F:7C:EF:8D:AF:28:E3:26

dy连接

使用dy(dyui, dym)连接 192.168.1.11:7000就可以实现数据的加密传输了。