Categories: C#

接続が切断されました: 送信時に、予期しないエラーが発生しました。。

.Net 4.5 で組んでいるアプリから、サクラインターネットのwebサーバーにあるAPIに、HTTPS通信するようにしていたシステムが、ある日突然

「接続が切断されました: 送信時に、予期しないエラーが発生しました。。」

とエラーをだすようになりました。

証明書の期限切れかと思ったのですが、それは問題なかった。

結局、エラーをキーワードに調べまわって、やっとわかったことがTLS1.0、1.1の廃止に伴うものでした。。

TLS1.2サポートするサーバとのHTTPS通信実装 - Qiita
SSL3.0、TLS1.0、TLS1.1の脆弱性が発見され、TLS1.2に移行するWebサイトが多数あります。TLS1.2の移行に伴い、SSL3.0、TLS1.0、TLS1.1の入り口も残していれば問題ないが、廃止された場合、いままで...

確かに、さくらインターネットからの発表がありましたね。エラーが発生し始めた時期的にもビンゴです。

TLS1.2サポートするサーバとのHTTPS通信実装 - Qiita
SSL3.0、TLS1.0、TLS1.1の脆弱性が発見され、TLS1.2に移行するWebサイトが多数あります。TLS1.2の移行に伴い、SSL3.0、TLS1.0、TLS1.1の入り口も残していれば問題ないが、廃止された場合、いままで...

というわけで、TLS1.2に対応できるように次のコードを付け加えました。

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;

参考:https://blogs.technet.microsoft.com/jpieblog/2015/04/07/net-framework-tls1-1-1-2/

nakaike

Share
Published by
nakaike