2013-09-22 10 views
5

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

  1. Afferra tutti i certificati da https://free.temafon.ru con Firefox.
  2. Importare i certificati nel keystore in sequenza dal certificato temefon al certificato di origine.
  3. 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.

+0

hai trovato una soluzione a questo? Sto affrontando lo stesso problema. – jimbob

+0

Purtroppo no, ho finito con l'accettare tutti i certificati per 2.3. – Bracadabra

risposta

0

Quando dici di aver acquisito tutti i certificati con FireFox, hai incluso anche la CA principale?

Molto probabilmente, Android 2.3 non ha la CA radice installata. Per questo link,

In questo caso, lo SSLHandshakeException si verifica perché si dispone di una CA che non attendibile dal sistema. Potrebbe essere perché hai un certificato da una nuova CA che non è ancora attendibile da Android o l'app è in esecuzione su una versione precedente senza CA.

+0

Sono d'accordo sul fatto che Android 2.3 non abbia la CA radice, ma prendo tutta la catena di certificati e la aggiungo all'archivio di fiducia personalizzato. – Bracadabra

Problemi correlati