0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

.NET Frameworkの TLS 1.2対応

Last updated at Posted at 2023-10-13

いまさら感があるのですが、古いシステムを並行稼働させている場合に、サーバ側を変更すると突然「繋がらない」事件が発生します。ということで、TLS対応についてメモです。

詳細というか詳しくは下記なのですがWindows対応が非常に複雑です。

OS側

以下の3パターンがあり

  • デフォルトで使えない
    • Windows Server 2008 SP2
  • デフォルトがv1.0で明示しないと使えない
    • Windows Server 2008 R2 / Windows 7
  • デフォルトでv1.1, 1.2が使える
    • Windows Server 2012 / Windows 8.1

.NET Framework (開発時ターゲット)

  • v1.2対応には更新プログラムが必須
    • .NET Framework 3.5
  • 既定値はv1.0で明示が必要
    • .NET Framework 3.5(更新適用)
    • .NET Framework 4.5.2
  • 既定値はv1.0~1.2
    • .NET Framework 4.6
  • 既定値はOSデフォルト
    • .NET Framework 4.7.x
    • .NET Framework 4.8.x

確か明示すると非対応の場合にはサクッと落ちる問題有り。

対応方法

  • 全部共通でに動かすには「TLS1.0」を明示する
    • TLS1.0, 1.1 廃止に対応できない...
  • パッチ対応してv1.2を明示して動かす
    • Windows Sever 2008 SP2がある場合要パッチ配布
    • .NET Framework 3.5を使っている場合要再ビルド
    • 配布めんどい。将来の上位以降はまた考える必要がある
  • 依存をなくすためにgolangで同じようなものを作り直す
    • 古い機種の互換性のための新規開発の今更感

ベストプラクティス

下記リンクはベストプラクティスだそうですが、基本はアプリは.Net Framework 4.7以降を使うようにアップデートして、OS(は新しいものを使いアップデートされているのは当然なので)にプロトコル選択は最適なものが選ばれるので任せるように...という事だとは思います。

ま、そりゃそうなんですけどね。

セキュリティ系の進化が早くアップデートなども随時かけていく方向性(雰囲気)にはなっていますが、スタンドアローンアプリをユーザー環境で長期間動かすのはなかなか難しいですね。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?