2013-09-22 3 views
5

там. Мне нужно установить соединение https с https://free.temafon.ru, но у меня есть CertPathValidatorException на Android 2.3 и ниже. Что я сделал.HttpsUrlConnection: Trust anchor для пути сертификации не найден на 2.3

  1. Захватите все сертификаты от https://free.temafon.ru с помощью Firefox.
  2. Импортировать сертификаты в хранилище ключей последовательно из сертификата temefon в корневой сертификат.
  3. Начальный SSL контекст:

    Окончательный KeyStore = KeyStore.getInstance хранилище ключей ("БКС");

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

    Здесь я использую custom TrustManager, потому что сервер отправляет в сертификаты неправильном порядке.

Этот код прекрасно работает на Android 4.0, но не на 2,3 с java.security.cert.CertPathValidatorException: Trust anchor for certification path not found. Что я делаю whrong?

Я создал тестовый проект, который можно найти here.

+0

Вы нашли решение на этом? Я имею дело с той же проблемой. – jimbob

+0

К сожалению, нет, я закончил с принятием всех сертификатов для 2.3. – Bracadabra

ответ

0

Когда вы говорите, что вы захватили все сертификаты с помощью FireFox, вы также включили корневой ЦС?

Скорее всего, Android 2.3 не имеет установленного корневого ЦС. За это link,

В этом случае исключение SSLHandshakeException происходит потому, что у вас есть центр сертификации, которому не доверяет система. Это может быть потому, что у вас есть сертификат от нового центра сертификации, которому еще не доверяют Android, или ваше приложение работает на более старой версии без CA.

+0

Я согласен с тем, что Android 2.3 не имеет корневого центра сертификации, но я хватаю всю цепочку сертификатов и добавляю ее в собственный магазин доверия. – Bracadabra

 Смежные вопросы

  • Нет связанных вопросов^_^