Я пытаюсь выполнить эту команду powershell
Invoke-WebRequest -Uri https://apod.nasa.gov/apod/
и я получаю эту ошибку. «Invoke-WebRequest: запрос был прерван: не удалось создать безопасный канал SSL / TLS». https запросы работают (" https://google.com "), но не этот вопрос. Как я могу заставить это работать или использовать другую команду powershell для чтения содержимого страницы?
powershell
ssl
hewstone
источник
источник
Ответы:
попробуйте использовать этот
источник
$env:Profile
или, еще лучше, отредактируйте таблицу реестра .В бесстыдной попытке украсть несколько голосов,
SecurityProtocol
этоEnum
с[Flags]
атрибутом. Так что вы можете сделать это:Или, поскольку это PowerShell, вы можете позволить ему разобрать строку:
Тогда вам технически не нужно знать версию TLS.
Я скопировал и вставил это из сценария, который я создал после прочтения этого ответа, потому что я не хотел перебирать все доступные протоколы, чтобы найти тот, который работал. Конечно, вы можете сделать это, если хотите.
Последнее замечание: в моем профиле PowerShell есть исходная (за вычетом правок) заявка, поэтому сейчас я начинаю каждую сессию. Это не совсем надежно, так как есть некоторые сайты, которые просто выходят из строя, но я наверняка вижу это сообщение гораздо реже.
источник
[Net.ServicePointManager]::SecurityProtocol = "Tls12, Tls11, Tls, Ssl3"
. Помните, что SSLv3 и TLSv1.0 устарели из-за POODLE, поэтому используйте их на свой страх и риск.Если, как и я, ничего из вышеперечисленного не работает, возможно, стоит также попробовать использовать только более низкую версию TLS. Я пробовал оба следующих варианта, но, похоже, не решил мою проблему:
В конце концов, только когда я настроил TLS 1.0 (в частности, удалил 1.1 и 1.2 в коде), это сработало:
Локальный сервер (на который пытались это сделать) в порядке с TLS 1.2, хотя удаленный сервер (который был ранее «подтвержден» как отлично для TLS 1.2 третьей стороной), кажется, не подходит.
Надеюсь, это кому-нибудь поможет.
источник
Меня устраивает...
источник
Убедитесь, что вы сначала переключаете SHELL:
источник
Я не выяснил причину, но переустановка
.pfx
сертификата (как на текущем пользователе, так и на локальной машине) работает для меня.источник
Invoke-WebRequest
месте, сначала это работает, но позже не получится. Кажется, что иногда он не может прочитать сертификат больше (я не знаю механизм, стоящий за ним. Может быть, это параметр, контролируемый компанией). Но переустановка сертификата работает в этом случае.