Salesforce「【重要】TLS1.0 無効化まであと48日です」というメールが来たので対応した

   

先日Salesforceのオペレータから電話がかかってきましてね。

オペ「送ったメールは見て頂けましたでしょうか?」

ge「細かく見てませんでしたスミマセン」

どうやら、TLS1.0での接続がシャットダウンされるようだ。

促されるとおりにログイン記録を見てみるとこんな感じで…

TLS1.0を使ったアクセス

ge「ああ…ありますね…。対応要請については理解しました」

オペ「それでは対応おねがいしますっ」

という感じで電話を終えたのだった。

原因はAPIを叩いているアプリ

ログを見てみるとアクセス元のIPが分かる。アクセス元のIPは使ってるクラウドのIPだ。
Googleカレンダーの予定をSalesforceのEventに同期する[PHP]<続編>
過去にはこんな記事を書いたりしているとおり、サーバからAPIを叩いてデータをSalesforceに挿入したりしている。原因はこいつである。

解決策は何か

TLS1.0で接続してるってなんだよそれ…PHPのToolkitの入れ直しかな?と思ったが、どうやらそうではないようだ。
こちらが参考になった

[PHP]CurlでのSSL接続をOpenSSL方式に変更する
接続に使われている通信プロトコルはこちらを参照すると分かる

<?php 
$ch = curl_init('https://www.howsmyssl.com/a/check');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($ch);
curl_close($ch);

$json = json_decode($data);
echo $json->tls_version;

こちらを適当に保存してphpで実行する
TLS1.0と出たら要設定変更だ。
phpinfoをみてcurlのSSL VersionがNSSになっているだろう。
対応としてはcurlをアップグレードしてphpがそいつを使うように変更するというもの。
こちらを参照してその通りに実行すれば大丈夫。
無事にTLS1.2が使われるようになり一安心です。良かった

おすすめ記事一覧

 - Salesforce