Ошибка при попытке установить Node и связанные с ним программы, а также, по-видимому, из-за невозможности получить поддержку TLS 1.2 в Windows 7 - PullRequest
0 голосов
/ 27 апреля 2020

Я попытался установить Node, а также любые дополнительные инструменты, которые ему «нужны», которые, по-видимому, включали «Chocolatey».

("Chocolatey" - плохо названный менеджер пакетов. Разработчик этого увидел, что в Visual Studio IDE есть NuGet, он подумал, что было бы хорошо, если бы Windows имел менеджер пакетов, так же как unix ОС на базе ОС имеют менеджеры пакетов, такие как debian, у которых есть apt-get или osx, brew и macports, и он сделал один для windows под названием - "Chocolatey" в качестве своей шутки, и у него есть растущее количество программного обеспечения, которое он поддерживает. Например, я вижу Вы можете сделать choco install vlc для установки медиаплеера VL C. Я не знаю, какое программное обеспечение Node будет использовать для установки, но в любом случае)

Я попытался установить Node, и мне кажется, я поставил галочку для это установить другое программное обеспечение, которое ему нужно. Мне потребовалось закрыть все мои программы, что я и сделал.

Я получил эту ошибку во время установки

enter image description here

Я искал, что ошибка "Исключение вызывает" DownloadString "с" 1 ""

И я получил это https://chocolatey.org/docs/troubleshooting

"Если вы видите следующее: Исключение вызывает" DownloadString "с Аргумент (ы) «1»: «Запрос был прерван: не удалось создать безопасный канал SSL / TLS.», Тогда вы, вероятно, используете более старый компьютер, который необходимо обновить, чтобы иметь возможность использовать TLS 1.2 как минимум. »

Я нахожу это странным, поскольку TLS 1.2 был выпущен очень давно, как видно на этой странице. https://kinsta.com/knowledgebase/tls-vs-ssl/ TLS 1.2 был выпущен в 2008 году. Я был бы удивлен, если бы Windows 7 не поддерживал его, так как Windows 7 достиг конца конца января 2020 года. Даже TLS 1.3 был выпущен в 2018 году.

При поиске ошибки я нашел эту страницу https://support.cybersource.com/s/article/How-do-I-enable-TLS-1-2-on-Windows-7

В нем упоминались некоторые ключи реестра, которые, как он говорит, мне нужны.

В соответствии с https://chocolatey.org/blog/remove-support-for-old-tls-versions

While your operating system may support TLS 1.2 it's important to remember that it may have to be enabled. If you are working from

PowerShell вы можете узнать, какие протоколы поддерживает ваша система, запустив этот код:

[Enum]::GetNames([Net.SecurityProtocolType]) -contains 'Tls12'
Copy
If the result is True then your system supports TLS 1.2.

И затем он продолжает, если поддерживается, как проверить, используется ли он.

Но для меня

TLS 1.2 показывает как не поддерживается

PS C:\Users\User>  [Enum]::GetNames([Net.SecurityProtocolType]) -contains 'Tls12'
False

Я видел эту страницу https://support.cybersource.com/s/article/How-do-I-enable-TLS-1-2-on-Windows-7

И сделал этот рег файл

Windows Registry Editor Version 5.00



[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client]
"DisabledByDefault"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server]
"DisabledByDefault"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client]
"DisabledByDefault"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server]
"DisabledByDefault"=dword:00000000

Я заметил, что у меня есть ключ (папка слева), в regedit называется SSL 2.0 Не уверен, что, если что, должно быть там

Я попытался перезапустить, но все еще выполнение упомянутой команды powershell выдало false TLS 1.2 не поддерживается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...