お世話になっております 齋藤と申します。
.NET用 kintone API SDKにつきまして質問させて頂きます。
開発言語:C#
2018/6/10のTLS1.0無効化対策として .NET Framework で TLS1.1 および 1.2 を有効化する方法 を表題SDKに対応させたいのですが、
ライブラリを扱うような場合に「.NET Framework で TLS1.1 および 1.2 を有効化する方法」にあるTLS有効化の宣言を差し込ませようとした場合
● ライブラリからクラス継承した派生クラスを利用する変数を使用する直前に差し込む(抜粋したソースコードは投稿のコメントに別途記載致します。)
● ライブラリ内にあるKintoneとやり取りを行う部分の前に差し込む
上記のどちらになるでしょうか、もしくは別の方法を取る必要があるでしょうか。
助言など頂けましたら幸いです。宜しくお願い致します。
・ 参照元
.NET用 kintone API SDK
( https://developer.cybozu.io/hc/ja/articles/205382204 )
.NET Framework で TLS1.1 および 1.2 を有効化する方法
( https://blogs.technet.microsoft.com/jpieblog/2015/04/07/net-framework-tls1-1-1-2/ )
投稿本文に別途記載と致しましたソースコードになります。
【変数の設定】
UKETSUKESave kpost = new UKETSUKESave();
【変数の利用部分】
// kintoneレコード作成(単一)
kpost.Save();
ComUtil.LogOut(Const.LogKind.INFO, “受付番号:” + kpost.TXT_01_0000_UKENO + “が登録されました。”);
【継承を行っている部分】
class UKETSUKESave : AbskintoneModel
齋藤 亮輔 さん
HTTPリクエストに対して宣言する必要があるので
kintoneとのやりとりの直前に宣言する方法が一般的かと思いました。
https://qiita.com/tanj/items/31a0fd6b188952886de5
Githubのissueでもいろいろと議論されていますね
BB 様
ご回答頂きありがとうございます。
プログラムを更新し、テストを行った際の結果ではダメだったので記述しなければならない箇所は、
kintoneとのやりとりを行っているライブラリ内の処理の直前かと考えておりましたが、やはりそうでしたか…
また、Githubの情報もご教示頂きましてありがとうございます。
現状では .NET Framework で TLS1.1 および 1.2 を有効化する方法 もしくは
弊社システムではプロキシサーバを設置しておりますため、 TLS1.2が使えない環境のためのProxy (squid)設定
これらを用いてTLS1.0無効化対応をしていきたいと思います。
お忙しい中ご確認頂きまして、誠にありがとうございます。
【 .NET Framework で TLS1.1 および 1.2 を有効化する方法を実施した結果】
こちらに結果を投稿しておりませんでしたので記載いたします。
弊社システムでは.NET Freamwork 4.5がインストールされている状態でありましたため、
レジストリ値を設定する手段を取りました。
結果として、TLS1.2で通信出来ることをパケットキャプチャにて確認しました。
ただし、レジストリに値を追加して設定を変更するので既存システムへの影響を
確認する必要が、システムによってはあると思います。(私の方では特に影響がないことを
テストで確認できました。)
以上となります。