我正在编程C#.NET应用程序以使用HTTPS与在线API服务器进行通信。另外,我正在使用libcurl.NET库来处理跨Internet的实际发送/接收数据。
我已经遵循了EasyGet.cs和SSLGet.cs的示例,并且能够成功接收响应数据并进行了适当的解析,但是我想确保自己正在与适当的主机通信。
我的问题是:为了防止MiTM攻击,我应该采取什么步骤在libcurl.NET中实现SSL固定?
我发现在C的原始libcurl库中,有一个固定的公用密钥选项CURLOPT_PINNEDPUBLICKEY可以设置,但.NET库没有类似的选项。只要我适当地设置CURLOPT_VERIFYHOST和CURLOPT_VERIFYPEER选项,这是否没有必要?感谢您的帮助!