Powershell script para arquivo de download, tendo configuração problemas de uma conexão segura

StackOverflow https://stackoverflow.com/questions/146973

  •  02-07-2019
  •  | 
  •  

Pergunta

Eu estou fazendo um script automatizado para ler uma lista de um site de postar o código compilado mais recente. Essa é a parte que eu já descobri. A próxima parte do script é pegar esse código compilado a partir de um servidor com um Untrusted Cert.

Isto é como eu vou sobre agarrar o arquivo:

$web = new-object System.Net.WebClient
$web.DownloadFile("https://uri/file.msi", "installer.msi")

Então eu recebo o seguinte erro:

Exceção chamando "DownloadFile" com "2" argumento (s): "O subjacente conexão foi fechada: não foi possível estabelecer relação de confiança para o SSL / TLS canal seguro. "

Eu sei que eu estou faltando alguma coisa, mas eu não posso começar a maneira correta para procurá-lo.

Foi útil?

Solução

Você precisa escrever um manipulador de retorno de chamada para ServicePointManager .ServerCertificateValidationCallback .

Outras dicas

Brad está correto, mas aviso que PowerShell V1 realmente não tem suporte nativo para os delegados, o que você precisa, neste caso específico. Eu acredito que este deve chegar ao redor essa limitação ( na verdade, o cenário que você descreve é ??exatamente um dos exemplos usados).

Se você estiver usando powershell e enfrentar este erro. Use comando:

[Net.ServicePointManager] :: SecurityProtocol = [System.Net.SecurityProtocolType] :: Tls12

antes de baixar o pacote. Obriga PS para usar TLS 1.2.

A razão para a falha poderia ser o site que você está tentando download desativou o suporte para TLS 1.0, que usa PS por padrão.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top