I mia app Voglio utilizzare una connessione https a un server specificato dall'utente che utilizza un certificato autofirmato. Quello che ho raccolto da ora è, cheCome aggiungere i certificati a un truststore al livello di programmazione e utilizzarlo anche per verificare l'autenticazione del server
- certificati self firmati sono rifiutati (come previsto)
- l'androide keystore/truststore non viene utilizzato per le applicazioni, in modo da applicazioni hanno per costruire e utilizzare il proprio truststore,
- c'è un "keytool" nel JDK di costruire un truststore che può essere fornito per l'applicazione come una risorsa, che però non è una soluzione in quanto non so il server (e il relativo certificato in anticipo)
dal il server https è specificato dall'utente, non conosco il befo del certificato del server rehand e quindi si desidera aggiungere il certificato del server a livello di programmazione al truststore dell'app (mostrando il certificato all'utente e chiedergli di accettarlo). Una volta aggiunto al truststore, l'app utilizza tale truststore per autenticare il server.
NON voglio semplicemente accettare tutti i certificati autofirmati senza che l'utente verifichi l'impronta digitale come suggeriscono alcuni esempi sul web.
Ora il problema è che sono completamente nuovo in Java e Android e sto lottando per capire il funzionamento interno di AndroidHttpClient o DefaultHttpClient. Ho un HTTP di base che funziona nella mia app, ma non ho trovato alcun esempio su come effettivamente AGGIUNGERE certificati su un truststore all'interno dell'app a richiesta dell'utente.
Qualcuno sa come raggiungerlo o conosce un esempio funzionante che posso guardare?
Eventuali suggerimenti sono apprezzati. Grazie.
MODIFICA: trovata la soluzione nello TrustManagerFactory.java class of K9 Mail. Suggerisco di dargli un'occhiata se stai facendo la stessa domanda.
So che questa è una vecchia domanda, ma questo è proprio quello che sto cercando. Hai trovato una soluzione? – nikmin
Hai trovato qualche soluzione a questo @nikmin –
@machtnix: Come hai ottenuto utilizzando la classe TrustManagerFactory di k9 mail. come hai menzionato. Potete per favore aiutarmi ? –