Ich arbeite an einer Windows-Server-Anwendung, die vertrauliche Informationen über einen Socket mithilfe eines HTTPClient an einen anderen Windows-Server überträgt. Die Server sollen für die Verwendung von IPSec konfiguriert sein. Also, ich muss nichts tun, um die sichere Verbindung auf Anwendungsebene einzurichten. Ich wurde jedoch angewiesen, dies sicherzustellen, wenn die Verbindung IPSec verwendet, und abzubrechen, wenn dies nicht der Fall ist.Wie kann ich feststellen, ob ein verbundener Socket IPSec verwendet?
Wie kann ich programmgesteuert feststellen, ob die Verbindung tatsächlich mit IPSec gesichert ist? Die Anwendung ist C# auf Windows Server 2016. Ich bin offen für P/Invoke-basierte Lösungen oder C-Code, wenn dies erforderlich ist, damit dies funktioniert. Solange es mit einer C# HttpClient-Klasse funktionieren kann.
Sie können überprüfen, ob ein aktiver IPSec-Tunnel vorhanden ist, aber Sie können nicht sicherstellen, dass Ihr Socket über diesen verbunden ist. – galister
Nun, ich bin mir sicher, dass Sie versuchen könnten, viel Hacker hinzuzufügen; Ich habe nie ipsec auf Witwen eingerichtet, aber unter Linux kann man die Liste der Verbindungen finden, denke ich, und versuchen zu sehen, ob Ihre Verbindung eine davon zu sein scheint, basierend auf Port #s, aber das ist einfach falsch. –
Der Port der IPSec-Verbindung, nicht jedoch der Zielport der gekapselten Pakete, der letztendlich mit Ihrem .NET-Endpunkt endet. – galister