FAKE F # - включить TLS для запросов https - PullRequest
0 голосов
/ 05 августа 2020

У меня есть устаревший код на F #

                let response = 
                    Http.Request (
                        ArtifactoryUrl, 
                        silentHttpErrors = true,
                        httpMethod = "POST", 
                        body = HttpRequestBody.TextRequest requestJson,
                        headers = [ 
                            HttpRequestHeaders.BasicAuth ArtifactoryUserName ArtifactoryPassword
                            HttpRequestHeaders.ContentType "application/json"
                            HttpRequestHeaders.Accept "application/json"
                        ]
                    )

С некоторого времени произошел сбой со следующей ошибкой

exception: System.Net.WebException: The request was aborted: Could not create SSL/TLS secure channel.

Я подозреваю, что это связано с недавним ограничением веб-сервера только для TLS 1.2. Как я могу это исправить? Как я могу выбрать только TLS1.2? Любая помощь здесь будет принята с благодарностью!

1 Ответ

1 голос
/ 06 августа 2020

Я считаю, что это происходит из-за того, что вы используете старую версию. net framework (менее 4.7). Если это так, вы можете установить версию по умолчанию и резервную версию для исходящих вызовов с помощью ServicePointManager:

ServicePointManager.SecurityProtocol <- SecurityProtocolType.Tls12 ||| SecurityProtocolType.Tls11

Более подробную информацию можно найти здесь

...