Blog スタッフブログ

Android システム開発

[Android][Kotlin]Fuelでのssl証明書の検証の無視

システム開発担当のTFです。

※Android10対応(他バージョンの場合、細かい部分等が異なる事があります)

やり方

  • SSL証明書の検証を無視する設定を行ったFuelManagerを用意する
  • 設定を行ったFuelManagerを用いて、Fuel通信を行う

参考

  ssl – 証明書の検証なしでhttpS接続を実行できるkotlinライブラリ(curl –insecureなど)

サンプル

// ssl証明書の検証を無視するFuelManagerの設定
val manager : FuelManager = FuelManager().apply {
	val trustAllCerts = arrayOf<TrustManager>(object : X509TrustManager {
		override fun getAcceptedIssuers(): Array<X509Certificate>? = null
		override fun checkClientTrusted(chain: Array<X509Certificate>, authType: String) = Unit
		override fun checkServerTrusted(chain: Array<X509Certificate>, authType: String) = Unit
	})
	socketFactory = SSLContext.getInstance("SSL").apply {
		init(null, trustAllCerts, java.security.SecureRandom())
	}.socketFactory
	hostnameVerifier = HostnameVerifier { _, _ -> true }
}

// Fuelでの通信
val(request, response, result) = manager.get("接続先URL").responseJson()