lì. Devo stabilire una connessione https con https://free.temafon.ru ma ho CertPathValidatorException su Android 2.3 e versioni successive. Cosa ho fatto.HttpsUrlConnection: ancoraggio attendibile per il percorso di certificazione non trovato su 2.3
- Afferra tutti i certificati da https://free.temafon.ru con Firefox.
- Importare i certificati nel keystore in sequenza dal certificato temefon al certificato di origine.
Init contesto SSL:
finale KeyStore keystore = KeyStore.getInstance ("BKS");
keystore.load(getResources().openRawResource(R.raw.temafon), "W0d3Uoa5PkED".toCharArray()); final TrustManager trustManager = new TemafonTrustManager(keystore); final SSLContext sslContext = SSLContext.getInstance("TLS"); sslContext.init(null, new TrustManager[] { trustManager }, null); HttpsURLConnection.setDefaultSSLSocketFactory(sslContext .getSocketFactory());
Ecco, io uso custom TrustManager, perché server invia certs in modo sbagliato.
Questo codice funziona bene su Android 4.0, ma non è riuscito a 2.3 con java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
Quello che sto facendo whrong?
Ho creato un progetto di prova, che può essere trovato here.
hai trovato una soluzione a questo? Sto affrontando lo stesso problema. – jimbob
Purtroppo no, ho finito con l'accettare tutti i certificati per 2.3. – Bracadabra