allestreet124 ha scritto:
Senza scendere troppo nel dettaglio, ho provato a dare il corretto percorso assoluto (lavoro su Windows) per i miei certificati, ma quando il programma li utilizza alza l'eccezione FileNotFoundException.
options.setSocketFactory(SslUtil.getSocketFactory("C:\\Users\\User\\Desktop\\mosquitto\\cert-client\\ca.crt","C:\\Users\\User\\Desktop\\mosquitto\\cert-client\\client.crt", "C:\\Users\\User\\Desktop\\mosquitto\\cert-client\\client.key", "password"));
Direi che l'approccio è proprio sbagliato. Non ha alcun senso che in una applicazione Android metti dei percorsi assoluti di Windows che oltretutto sono specifici della
tua macchina.
Quei file li devi "incapsulare" all'interno della applicazione Android. Così come una app Android può avere immagini, icone, layout, stringhe di traduzione, font, ecc... allora dovrai trattare anche quei file come "risorse".
Le informazioni le trovi (e molte), es.:
Bisogna solo vedere la API della security dei certificati di che cosa ha bisogno: di un InputStream? di un java.io.File? Altro?
Basta documentarsi.
EDIT: dalla documentazione ufficiale
PEMParser si vede che richiede esclusivamente un java.io.Reader. Quindi qualunque cosa va bene da cui partire purché arrivi ad incapsularlo in un Reader (es. InputStreamReader).