package cc.shinichi.library.glide
|
|
import android.annotation.SuppressLint
|
import java.security.SecureRandom
|
import java.security.cert.X509Certificate
|
import javax.net.ssl.*
|
|
/**
|
* @author 工藤
|
* @email qinglingou@gmail.com
|
* cc.shinichi.library.glide.progress
|
* create at 2018/11/2 15:55
|
* description:
|
*/
|
object SSLSocketClient {
|
|
val sSLSocketFactory: SSLSocketFactory
|
get() = try {
|
val sslContext = SSLContext.getInstance("SSL")
|
sslContext.init(null, trustManager, SecureRandom())
|
sslContext.socketFactory
|
} catch (e: Exception) {
|
throw RuntimeException(e)
|
}
|
|
private val trustManager: Array<TrustManager>
|
get() = arrayOf(
|
@SuppressLint("CustomX509TrustManager")
|
object : X509TrustManager {
|
@SuppressLint("TrustAllX509TrustManager")
|
override fun checkClientTrusted(chain: Array<X509Certificate>, authType: String) {
|
}
|
|
@SuppressLint("TrustAllX509TrustManager")
|
override fun checkServerTrusted(chain: Array<X509Certificate>, authType: String) {
|
}
|
|
override fun getAcceptedIssuers(): Array<X509Certificate> {
|
return arrayOf()
|
}
|
}
|
)
|
|
@SuppressLint("CustomX509TrustManager")
|
fun geX509tTrustManager(): X509TrustManager {
|
return object : X509TrustManager {
|
@SuppressLint("TrustAllX509TrustManager")
|
override fun checkClientTrusted(chain: Array<X509Certificate>, authType: String) {
|
}
|
|
@SuppressLint("TrustAllX509TrustManager")
|
override fun checkServerTrusted(chain: Array<X509Certificate>, authType: String) {
|
}
|
|
override fun getAcceptedIssuers(): Array<X509Certificate> {
|
return arrayOf()
|
}
|
}
|
}
|
|
val hostnameVerifier: HostnameVerifier
|
get() = HostnameVerifier { _, _ -> true }
|
}
|