mirror of
https://github.com/jie65535/JGrasscutterCommand.git
synced 2025-06-01 17:29:13 +08:00
Fix Https cert issue(#1)
This commit is contained in:
parent
ea83aec168
commit
4662731543
@ -26,13 +26,13 @@ import kotlinx.serialization.encodeToString
|
||||
import kotlinx.serialization.json.Json
|
||||
import kotlinx.serialization.json.decodeFromStream
|
||||
import okhttp3.MediaType.Companion.toMediaType
|
||||
import okhttp3.OkHttpClient
|
||||
import okhttp3.Request
|
||||
import okhttp3.RequestBody.Companion.toRequestBody
|
||||
import top.jie65535.mirai.utils.UnsafeOkHttpClient
|
||||
|
||||
@OptIn(ExperimentalSerializationApi::class)
|
||||
object OpenCommandApi {
|
||||
private val httpClient = OkHttpClient.Builder().build()
|
||||
private val httpClient = UnsafeOkHttpClient.getUnsafeOkHttpClient().build()
|
||||
private val json = Json {
|
||||
ignoreUnknownKeys = true
|
||||
encodeDefaults = true
|
||||
|
44
src/main/kotlin/utils/UnsafeOkHttpClient.kt
Normal file
44
src/main/kotlin/utils/UnsafeOkHttpClient.kt
Normal file
@ -0,0 +1,44 @@
|
||||
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)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user