HttpsUrlConnection: Ancla de confianza para ruta de certificación no encontrada en 2.3

ahí. Necesito establecer la conexión https con https://free.temafon.ru pero tengo CertPathValidatorException en Android 2.3 y abajo. Qué he hecho.

  1. Coge todos los certs desde https://free.temafon.ru con Firefox.
  2. Importar certificados en keystore en secuencia desde el certificado de temefon hasta el certificado raíz.
  3. Init ssl context:

    Final 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()); 

    Aquí, yo uso TrustManager personalizado , porque el servidor envía certs en orden incorrecto.

Este código funciona bien en Android 4.0, pero falló en 2.3 con java.security.cert.CertPathValidatorException: Trust anchor for certification path not found. ¿Qué estoy haciendo whrong?

He creado un proyecto de prueba, que se puede encontrar aquí .

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.