mirror of
https://github.com/jie65535/JGrasscutterCommand.git
synced 2025-06-11 17:39:13 +08:00
44 lines
1.8 KiB
Kotlin
44 lines
1.8 KiB
Kotlin
package top.jie65535.mirai.utils
|
|
import okhttp3.OkHttpClient
|
|
import java.security.cert.CertificateException
|
|
import javax.net.ssl.SSLContext
|
|
import javax.net.ssl.TrustManager
|
|
import javax.net.ssl.X509TrustManager
|
|
|
|
class UnsafeOkHttpClient {
|
|
companion object {
|
|
fun getUnsafeOkHttpClient(): OkHttpClient.Builder {
|
|
try {
|
|
// Create a trust manager that does not validate certificate chains
|
|
val trustAllCerts = arrayOf<TrustManager>(object : X509TrustManager {
|
|
@Throws(CertificateException::class)
|
|
override fun checkClientTrusted(chain: Array<java.security.cert.X509Certificate>, authType: String) {
|
|
}
|
|
|
|
@Throws(CertificateException::class)
|
|
override fun checkServerTrusted(chain: Array<java.security.cert.X509Certificate>, authType: String) {
|
|
}
|
|
|
|
override fun getAcceptedIssuers(): Array<java.security.cert.X509Certificate> {
|
|
return arrayOf()
|
|
}
|
|
})
|
|
|
|
// Install the all-trusting trust manager
|
|
val sslContext = SSLContext.getInstance("SSL")
|
|
sslContext.init(null, trustAllCerts, java.security.SecureRandom())
|
|
// Create an ssl socket factory with our all-trusting manager
|
|
val sslSocketFactory = sslContext.socketFactory
|
|
|
|
val builder = OkHttpClient.Builder()
|
|
builder.sslSocketFactory(sslSocketFactory, trustAllCerts[0] as X509TrustManager)
|
|
// builder.hostnameVerifier { _, _ -> true }
|
|
builder.hostnameVerifier { _, _ -> true }
|
|
|
|
return builder
|
|
} catch (e: Exception) {
|
|
throw RuntimeException(e)
|
|
}
|
|
}
|
|
}
|
|
} |