加密c#和mysql之间的数据流量

我在C#.Net中有一个Windows应用程序,它使用mysql数据库来存储数据。 Mysql DB和Windows应用程序在同一台机器上。 我正在为我的工作中的系统进行安全审计,其中一个要求是加密C#和Mysql之间的所有流量。 我已经实现了openssl,连接现已加密,但我还需要加密c#和mysql之间的数据流量。 例如,当插入查询从c#执行时,数据包软件(echo mirage)显示明文(整个插入数据查询)可能是我的c#应用程序使用硬编码查询而不是存储过程的原因。 如何加密流量? 请帮忙

如果您的一个要求是“加密C#和Mysql之间的所有流量”,那么我建议将require_secure_transport系统变量(在MySQL服务器上)设置为1.这将防止任何不安全的连接被创建。

根据本教程 (您在评论中引用),您还需要将MySQL服务器配置为使用SSL。

在C#程序中,确保连接字符串中有SslMode=Required 。 这将确保C#和MySQL之间的所有流量(包括查询和响应)都被加密(除了在连接开始时的短明文握手)。

完成此操作后,Echo Mirage(或任何网络数据包捕获工具)将无法读取有线查询的纯文本。