zacząłem następujące tutorial, który nie został powlekanego wokół Androida i dostał to:Jak uzyskać dostęp do połączenia SSL przez Androida?
System.setProperty("javax.net.ssl.trustStore", "truststore");
System.setProperty("javax.net.ssl.trustStorePassword", "password");
SSLSocketFactory ssf = (SSLSocketFactory) SSLSocketFactory.getDefault();
try {
Socket s = ssf.createSocket("192.168.2.11", 6543);
PrintWriter out = new PrintWriter(s.getOutputStream());
while (true){
out.println("SSL TEST");
Log.d("DATA", "DATA SENT");
}
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Chyba ten sprowadza się do kilku pytań:
nie mam zaufania mój własny sklep utworzone, ale przeszukując samouczki i rzeczy online, nie jestem pewien jak je utworzyć. Czy istnieje sposób, w jaki mogę utworzyć lub zmodyfikować magazyn zaufanych certyfikatów, aby mieć potrzebne certyfikaty? (Używam certyfikatu z podpisem własnym, jeśli to robi jakąkolwiek różnicę)
W jaki sposób mogę sprawić, aby obsługa handshake SSL przebiegała sprawnie? Obecnie otrzymuję błąd:
javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
Szczerze mówiąc, nie bardzo rozumiem, co to oznacza.
Jakie ustawienia lub pliki należy zmodyfikować na moim urządzeniu z Androidem, aby upewnić się, że to połączenie może się zdarzyć?
Najprawdopodobniej powinieneś zacząć od tego na Androidzie, zamiast próbować modyfikować technikę inną niż Android. –
Próbowałem również umieścić plik magazynu kluczy, który mam z mojego serwera i umieścić go w moim folderze jdk/jre/lib/security, a następnie zmieniając lokalizację i hasło sklepu zaufania, aby pasowały do tego i otrzymałem ten sam wyjątek. – Matt
CZEKAJ! jaki jest "sposób na zrobienie tego na Androidzie"? – Matt