невозможно подключиться к https (SSL) - PullRequest
0 голосов
/ 14 мая 2019

Что не так с этим кодом, я не могу открыть URL-адрес https из WebView.Я добавил сертификат в src / res / raw с именем «my_ca.crt».

ошибка

I/X509Util: Failed to validate the certificate chain, error: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.

код

val cf = CertificateFactory.getInstance("X.509")
        val inputS = context?.resources?.openRawResource(R.raw.my_ca)
        val caInput = BufferedInputStream(inputS)
        val ca = cf.generateCertificate(caInput)

        // Create a KeyStore containing our trusted CAs
        val keyStoreType = KeyStore.getDefaultType()
        val trustedKeyStore = KeyStore.getInstance(keyStoreType)
        trustedKeyStore.load(null, null)
        trustedKeyStore.setCertificateEntry("my_ca", ca)


        // Create a TrustManager that trusts the CAs in our KeyStore
        val tmfAlgorithm = TrustManagerFactory.getDefaultAlgorithm()
        tmf = TrustManagerFactory.getInstance(tmfAlgorithm)
        tmf?.init(trustedKeyStore)

        // Create an SSLContext that uses our TrustManager
        val sslContext = SSLContext.getInstance("TLS") //"SSL" is also not working
        sslContext.init(null, tmf?.getTrustManagers(), null);

        HttpsURLConnection.setDefaultSSLSocketFactory(sslContext.socketFactory)

        web_view.loadUrl(url) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...