因此,我使用的主機最近禁用了TLS 1.0,因此對於任何不支持TLS 1.0的設備,我需要使用http而不是https(無論如何都不發送敏感信息...我只是希望儘可能使用SSL)。Android:以編程方式確定設備對TLS的支持
從API 16開始支持TLS 1.1/1.2,但由於API 20或21的缺省情況,缺省情況下未啓用TLS 1.1/1.2。關於默認切換時間的報告存在衝突。見例如(根據API 20建議)和here(從API 21建議)。而且似乎有些設備甚至在API 20之前都支持TLS 1.1/1.2支持,可能是因爲製造商調整了一些東西來實現這一目標。
我知道可以在支持它的設備上啓用TLS 1.1/1.2(例如,請參閱here),並且可能甚至可以通過Play服務進行操作,如here所述。
但我寧願沒有執行這些類型的黑客(並處理用戶的任何問題)的麻煩,只是接受任何運行我的應用程序,尚未支持TLS 1.1/1.2的設備應使用http而不是https。正如我所說,無論如何沒有任何東西會被歸類爲「敏感」。隨着時間的推移,不支持TLS 1.1/1.2的設備數量將會減少。
那麼,這樣說,有沒有一種方式來編程確定設備支持哪些TLS版本?
目前我只是使用API版本進行檢查(「使用https從API 21開始」),但最好更明確地檢查TLS支持,因爲一些較舊的設備也將支持TLS 1.1/1.2 。