я прикрепил свой сертификат ssl к okhttp со следующим кодом
fun getSSLClient(): OkHttpClient.Builder {
val certificatePinner = CertificatePinner.Builder()
.add("mydomain.com", "sha256/+yXkVIpjT60hWh4XxpPI27vC7dAPycxw7bYg/LR8Ebs=")
.build()
return OkHttpClient.Builder()
.certificatePinner(certificatePinner)
}
Затем я использую этот метод в модернизации для предоставления экземпляра клиента okhttp, как показано ниже:
fun getLoginDisposable():LoginInterfaceService {
val interceptor = HttpLoggingInterceptor()
interceptor.level = HttpLoggingInterceptor.Level.BODY
val client = radiSSLConfiguration.getSSLClient().addInterceptor(interceptor).build()
val loginInterface = Retrofit.Builder().baseUrl(radiUrlConfiguration.getCloudServerUrl(this))
.addConverterFactory(GsonConverterFactory.create())
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.client(client)
val loginDisposable = loginInterface.build().create<LoginInterfaceService>()
return loginDisposable
}
Но когда я делаю запрос с модификацией, я получаю следующее исключение
javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
Что я должен сделать, чтобы удалить это исключение и заставить Android доверять моему самоподписанному ssl? Есть ли какая-либо конфигурация ohttp, которую мне нужно сделать, чтобы доверять моему самоподписанному ssl?