Come posso rintracciare una dipendenza che sta causando un errore X509TrustManager senza avere la fonte?

2

Sto mantenendo e app Android che ora soffre di un Implementazione di TrustManager X509 non sicura . Poiché l'app non effettua chiamate HTTPS tranne che attraverso le dipendenze, una delle dipendenze causa il problema.

Il problema è che non so a cosa servono qualsiasi di queste dipendenze (ce ne sono ~ 20) tranne uno, che è una semplice libreria "social (Facebook, Twitter)" . Ho guardato attraverso il codice sorgente di quello, perché era abbastanza piccolo, e non è il problema.

Alcune delle dipendenze sono pacchettizzate tramite Maven, quindi non posso sfogliare la loro fonte, e alcune non sono più su Github (la libreria era OS, ma alla fine scartata).

Molte delle dipendenze fanno richieste HTTP (S), che sta causando l'errore X509TrustManager. Come posso capire quale causa l'errore senza avere la fonte ?

    
posta Chris Cirefice 23.07.2016 - 17:18
fonte

2 risposte

1

Se davvero non hai indizi migliori di quelli di eliminazione e test, ti suggerisco di effettuare una ricerca binaria. Spendi 1.5 * 10 ore per sbarazzarti della metà delle dipendenze. Quindi prova e vedi se è in quella metà. Risciacquare, ripetere finché non si è in uno stato di dipendenza sospetta.

Salvalo nei diversi stati in modo da poter tornare indietro senza che sia doloroso. Documentalo bene. Succhia per andare in questa tana del coniglio per ore e poi perdersi.

Non dovrebbe richiedere più di

1.5 * 10 + 4.5 +
1.5 * 5 + 4.5 +
1.5 * 3 + 4.5 +
1.5 * 2 + 4.5 +
1,5 * 1 + 4,5 = 54 ore.

Meglio di 120 immagino.

Sicuramente non ci sono indizi migliori?

    
risposta data 23.07.2016 - 21:30
fonte
0

Anche senza la fonte, dovresti essere in grado di cercare nelle biblioteche i riferimenti alle classi in questione. Puoi trovare quello che sono guardando il pom e poi i poms delle dipendenze nel tuo pom (risciacqua e ripeti). Questo potrebbe richiedere un po 'di tempo perché Maven incoraggia le persone a non sapere su cosa stanno creando dipendenze, quindi ci sono molte probabilità dipendenze inutilizzate nel tuo progetto.

Vorrei iniziare a cercare attraverso il repository locale di Maven dove stai facendo le tue build. javap è uno strumento utile per la visualizzazione di bytecode ma se installi eclipse, puoi usarlo per cercare le librerie fornite da maven tramite il tuo pom.

    
risposta data 24.07.2016 - 02:51
fonte

Leggi altre domande sui tag