我正在开发一个Windows服务器应用程序,它将使用HTTPClient通过套接字将敏感信息传输到另一台Windows服务器。应该将服务器配置为使用IPSec。所以,我不需要做任何事情来在应用程序级别设置安全连接。但是,我已被指示确保连接使用IPSec,如果不连接则中止。
如何以编程方式确定连接是否确实使用IPSec保护?该应用程序是Windows Server 2016上的C#。如果需要这样做,我可以使用基于P / Invoke的解决方案或C代码。只要它最终可以使用C#HttpClient类。
答案 0 :(得分:4)
这不是应用程序的关注,不能完成。隧道对网络堆栈的应用程序级用户是透明的。如果您希望应用程序确保连接已加密和验证,请使用TLS。否则,由网络/系统管理员决定是否设置策略以便仅允许ipsec流量。
想象一下,通过以某种方式询问操作系统,您找到了确保隧道设置的方法。然后在2年内,系统需要按比例放大,IPSec终端将转移到专用硬件。糟糕。