naveen_g Ответов: 1

Как включить TLS 1.2


В соответствии с этим статья чтобы включить TSL1.2, нам нужно обновить ключ "SecureProtocol" в приведенном ниже расположении реестра с другими ключами реестра.

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings


Проблема здесь заключается в том, что нам нужно обновить эти ключи на всех клиентских машинах с помощью установщика. Я попытался обновить это до ключей во время установки установщика, но установщик может получить доступ только к ключу настройки интернета локальной машины. Он не может получить доступ к текущему ключу настроек интернета пользователя, потому что установщик работает в системном контексте.

Установщик настроен на запуск в режиме отложенного выполнения в системном контексте для установки для всех клиентов, которые не имеют прав администратора. Теперь я не могу изменить конфигурацию установщика.

Мой вопрос заключается в том, что установка значения "Secure Protocol" в настройках интернета локальной машины недостаточно для включения TLS1.2?

Обязательно ли устанавливать значение "безопасный протокол" и в текущих настройках интернета пользователя?

заранее спасибо.

Что я уже пробовал:

Я попытался установить текущий реестр пользователей с помощью SID во время установки установщика, но установщик не находит текущего зарегистрированного пользователя SID.

MadMyche

Какой вкус у Windows и .Net Framework? Win версии 5.2 и ниже не будут поддерживать ничего сверх TLS 1.0

1 Ответов

Рейтинг:
1

Gerry Schmitz

Я установил "безопасный протокол" в приложении по мере необходимости:

   ServicePointManager.ServerCertificateValidationCallback += ValidateCertificate;

   ServicePointManager.SecurityProtocol =
      SecurityProtocolType.Tls |
      SecurityProtocolType.Tls11 |
      SecurityProtocolType.Tls12 |
      SecurityProtocolType.Ssl3;

   try {
      // Related process.

   } finally {
      ServicePointManager.ServerCertificateValidationCallback -= ValidateCertificate;
   }

//
private static bool ValidateCertificate(
   Object sender, X509Certificate cert, X509Chain chain,
   SslPolicyErrors Errors ) {

   return true;
}