自己証明書を使ってhttps通信をしようとしてるのですが、以下のエラーがでてうまくいきません。
どこがダメか教えていただけたら大変たすかります。
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) //urlは別で定義済み
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2019/05/14 10:06
退会済みユーザー
2019/05/14 10:12
退会済みユーザー
2019/05/14 10:22
退会済みユーザー
2019/05/14 10:26
退会済みユーザー
2019/05/14 10:27
退会済みユーザー
2019/05/14 10:29
退会済みユーザー
2019/05/14 10:31
退会済みユーザー
2019/05/14 10:33