- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2018-08-27T21:26:21+09:00","","")
#author("2018-08-27T21:27:02+09:00","","")
#navi(../)
* PowerShellでTLS1.2を指定して使用する方法 [#ed433d8d]
* PowerShellでTLS1.2, TLS1.1を指定して使用する方法 [#ed433d8d]
Invoke-RestMethod コマンドレットやInvoke-WebRequestコマンドレットなどでhttpsを使用して接続してみたら、~
以下のようなエラーが発生した場合、TLS1.2のみのサポートなどでエラーなった可能性があります。
Invoke-WebRequest : 接続が切断されました: 送信時に、予期しないエラーが発生しました。。
発生場所 行:1 文字:13
+ $response = Invoke-WebRequest -UseBasicParsing "https:// ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest]、WebException
+ FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand
本資料では、TLSのバージョンを指定する方法を記します。
本資料では、TLSのバージョンの指定や確認する方法を記します。
#contents
#htmlinsertpcsp(win-top.html,win-sp.html)
* 参考資料 [#gc6fa790]
-[[.NET Framework で TLS1.1 および 1.2 を有効化する方法>https://blogs.technet.microsoft.com/jpieblog/2015/04/07/net-framework-tls1-1-1-2/]]
* TLS1.2を使用したサンプルコード [#r0b0de45]
以下のURLでは、TLS1.2を使用したサンプルコードを公開しています。~
http://cryptocurrency.just4fun.biz/?API/CoinExchange.io#ld8fda54
* TLS1.2を指定する方法 [#d1bbc38a]
TLS1.2を指定する方法は以下の構文です。
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
一番最後にTls12と指定しているので、わかると思います。~
Invoke-RestMethod コマンドレットやInvoke-WebRequestコマンドレットでhttps接続する前に~
本構文を実行してください。
* サポートされているTLSバージョンを確認する方法 [#n426f671]
以下の構文でサポートされているTLSを確認することができます。
[enum]::GetNames([Net.SecurityProtocolType])
以下、実際に上記構文を実行したときの出力です。
PS C:\> [enum]::GetNames([Net.SecurityProtocolType])
SystemDefault
Ssl3
Tls
Tls11
Tls12
* 設定されているTLSを確認する [#u87de313]
以下の構文で設定されているTLSを確認することができます。
[Net.ServicePointManager]::SecurityProtocol
Windows10のデフォルトでは以下のように出力されました。
PS C:\> [Net.ServicePointManager]::SecurityProtocol
Ssl3, Tls
設定すれば、以下のようになります。
PS C:\> [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
PS C:\> [Net.ServicePointManager]::SecurityProtocol
Tls12
* 複数のTLSバージョンを指定する [#l8e45384]
列挙型で複数指定すれば、複数のTLSバージョンを設定することができます。~
以下の構文では、TLS, TLS1.1, TLS1.2を指定しています。
[Net.ServicePointManager]::SecurityProtocol = @([Net.SecurityProtocolType]::Tls,[Net.SecurityProtocolType]::Tls11,[Net.SecurityProtocolType]::Tls12)
以下、実際に上記の構文を実行し、設定を確認しています。
PS C:\> [Net.ServicePointManager]::SecurityProtocol = @([Net.SecurityProtocolType]::Tls,[Net.SecurityProtocolType]::Tls11,[Net.SecurityProtocolType]::Tls12)
PS C:\> [Net.ServicePointManager]::SecurityProtocol
Tls, Tls11, Tls12
以上、PowerShellでTLSのバージョンを指定する方法でした。
#htmlinsertpcsp(win-btm.html,win-sp.html)