用于HTTPS连接的Powershell SSL TLS密码套件

时间:2014-12-16 21:04:30

标签: powershell ssl encryption https

我尝试使用PowerShell从https网站获取html内容。

不幸的是,该网站仅排除了一组有限的SSL / TLS密码套件,并且不支持Powershell可用的套件。

如果我尝试使用Invoke-WebRequest cmdlet,则会收到以下错误消息:

Invoke-WebRequest:请求已中止:无法创建SSL / TLS安全通道。

问题:

  1. 有没有办法指定powershell使用的客户端SSL / TLS密码套件?
  2. 我可以使用另一个cmdlet来发送Web请求吗?
  3. 我不想切换到备用语言,但如果没有办法指定PowerShell使用的密码套件,我可能不得不这样做。

    以下是服务器支持的套件:

    TLS_DHE_RSA_WITH_AES_256_GCM_SHA384(0x9f)

    TLS_DHE_RSA_WITH_AES_256_CBC_SHA256(0x6b)

    TLS_DHE_RSA_WITH_AES_256_CBC_SHA(0x39)

    TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA(0x88)

    TLS_DHE_RSA_WITH_AES_128_GCM_SHA256(0x9e)

    TLS_DHE_RSA_WITH_AES_128_CBC_SHA256(0x67)

    TLS_DHE_RSA_WITH_AES_128_CBC_SHA(0x33)

    TLS_DHE_RSA_WITH_SEED_CBC_SHA(0x9a)

    TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA(0x45)

1 个答案:

答案 0 :(得分:0)

我的解决方案是使用带有SSL支持的Curl.exe的win32版本,然后使用返回的html。 Curl可以作为独立的exe从以下版本下载:link Curl exe必须位于PATH环境变量中的某个位置,或者在脚本中对路径进行硬编码。