Как определить, какой протокол безопасности (SSL/TLS) будет использоваться для вызова остальных веб-сервисов?
Я занимаюсь разработкой приложения winform, в котором я звоню на веб-сервисы REST. Для веб-серверов на основе http он работает нормально. Но когда он использовался для серверов на основе https, они получили исключение The request was aborted: Could not create SSL/TLS secure channel.
По-видимому, это происходит потому, что они используют TLS v1.2, и я не указал, какую версию протокола следует использовать во время вызова веб-службы. И, когда я искал в Интернете, обнаружил, что добавление следующего кода будет работать.
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;
Но что, если какой-то другой сервер использует другую версию протокола безопасности. Как сделать код надежным, чтобы он обнаруживал используемый протокол и затем соответственно настраивал конфигурацию?