Я хотел бы спросить, есть ли способ обойти проверки безопасности Ubuntu, чтобы я мог получить сайт с небольшим ключом в моем. NET Приложение Core Client? Я получаю error:141A318A:SSL routines:tls_process_ske_dhe:dh key too small
исключение.
Проблема в том, что в Ubuntu 20.04 openSSL имеет уровень безопасности, установленный на 2
, и (в настоящее время, надеюсь, кто-то придет с ответом на мой вопрос на вопрос Ubuntu ) Я не знаю, как установить его на более низкое значение.
Та же ошибка возникает при использовании curl
, если не указан параметр --ciphers 'DEFAULT:!DH'
, поэтому я предполагаю причину root проблема в самой операционной системе.
Я не контролирую сервер веб-сайта, поэтому изменение его настроек безопасности - нет go.
То, что я пробовал так далеко от C# side:
serviceCollection.AddHttpClient<IInterface, IImplementation>()
.ConfigureHttpMessageHandlerBuilder(messageHandlerBuilder =>
{
messageHandlerBuilder.PrimaryHandler = new HttpClientHandler
{
ServerCertificateCustomValidationCallback = (m, c, ch, e) => true
};
});
и
using var httpClient = new HttpClient();
ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
ServicePointManager.ServerCertificateValidationCallback += (sender, cert, chain, sslPolicyErrors) => true;
var websiteContent = await httpClient.GetStreamAsync(url);
Безопасность в данном случае не является большой проблемой, поэтому я согласен с использованием любого грязного хака здесь.
Любая помощь будет высоко ценится.