Po wielu lekturach wymyśliłem odpowiedź.
całkiem dobry przewodnik jest tutaj: http://nelenkov.blogspot.no/2011/12/using-custom-certificate-trust-store-on.html
Teraz, ponieważ nie używam HTTPS, musiałem wymyślić nieco innego podejścia do uzyskania czystego gniazdo SSL z nowym kluczy:
KeyStore store = KeyStore.getInstance("BKS");
InputStream truststore = mainActivity.getResources().openRawResource(R.raw.trust);
store.load(truststore, "PASSWORD".toCharArray());
TrustManagerFactory tmf = TrustManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
tmf.init(store);
SSLContext context = SSLContext.getInstance("TLS");
context.init(null, tmf.getTrustManagers(), new SecureRandom());
Socket socket = context.getSocketFactory().createSocket(ip, port);
Myślę, że kodowanie odcisku palca w aplikacji to dobry pomysł. Aktualizacja aplikacji do korzystania z nowego odcisku palca nie jest trudna i eliminuje wszystkie bzdury związane z CA. – CodesInChaos
Przepraszam, ostatnio byłem okropnie zajęty. Sprawdzę to dzisiaj, zanim wygasa nagroda :) –
Dałem ci +1 za linki. Oczywiście metody w tych linkach sprawiają, że aplikacja ufa KAŻDEMU, co z pewnością nie jest tym, czego szukałem. Mimo to może być interesująca dla osób w środowisku testowym. :) –