Объясняю ситуацию более четко: у меня есть служба wcf, которая содержит внутреннего менеджера, который выполняет вызовы остальных служб.Для выполнения этих вызовов внешней службе требуется сертификат (считается, что используемый сертификат действителен).Проблема заключается в том, что когда я пытаюсь вызвать http-вызов клиента для этой службы, возникает исключение: «Запрос отменен: невозможно создать безопасную связь TLS / SSL».Я пробовал разные решения, но я не смог решить проблему, и я надеюсь, что кто-то может мне помочь.Ниже приведен код внутреннего менеджера, который делает вызов.
try
{
WebRequestHandler handler = new WebRequestHandler();
handler.ClientCertificates.Add(getCertificate());
HttpClient client = new HttpClient(handler);
ServicePointManager.Expect100Continue = true;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
ServicePointManager.ServerCertificateValidationCallback +=
(sender, cert, chain, sslPolicyErrors) => { return true; };
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
var input = new
{
id = 90,
version = Convert.ToInt32(Version),
network = Convert.ToInt32(Id),
list = List
};
var response = await client.PostAsJsonAsync(_endpoint, input);
if (response.StatusCode != HttpStatusCode.OK)
{
throw new Exception($"Error code: {response.StatusCode}");
}
var returnedData = await response.Content.ReadAsStringAsync();
}
catch (Exception ex)
{
throw new Exception($"{ex.Message}\n{ex.StackTrace}");
}
Примечание: учтите, что метод getCertificate возвращает правильный сертификат