Я занимаюсь разработкой приложения для Android API уровня 18-19. и я использую библиотеку AndroidNetworking. Но здесь я столкнулся с проблемой в рукопожатии SSL. Вот несколько фрагментов моего кода:
public static void createNetworkService(Context context) {
if(appContext==null)
appContext = new AppContext(context);
if (appContext.getNetworkDebugEnabled() && BuildConfig.DEBUG) {
AndroidNetworking.initialize(context.getApplicationContext(), getClientBuilder(context));
} else {
AndroidNetworking.initialize(context.getApplicationContext(), getClientBuilder());
}
AndroidNetworking.enableLogging();
AndroidNetworking.setParserFactory(new JacksonParserFactory());
}
и мое соединение Okhhtp ниже:
public static OkHttpClient getClientBuilder(Context context) {
OkHttpClient.Builder client = new OkHttpClient.Builder();
client.connectTimeout(30, TimeUnit.SECONDS);
client.readTimeout(30, TimeUnit.SECONDS);
client.writeTimeout(30, TimeUnit.SECONDS);
client.addInterceptor(new Interceptor() {
@Override
public Response intercept(Chain chain) throws IOException {
Request request = chain.request();
Response response = chain.proceed(request);
if (response.code() == 401) {
client.build().dispatcher().cancelAll();
if(appContext.getOpenLoginFragmentStatus()){
appContext.setOpenLoginFragmentStatus(false);
openNavigationWithLoginFragment();
}
}
return response;
}
});
OkHttpClient okHttpClient = client.addInterceptor(
new GanderInterceptor(context)
.showNotification(false)
.retainDataFor(GanderInterceptor.Period.ONE_DAY))
.addInterceptor(new okhttp3.logging.HttpLoggingInterceptor().setLevel(okhttp3.logging.HttpLoggingInterceptor.Level.BODY))
.build();
return okHttpClient;
}
Теперь я хочу использовать ssl Keystore и Ssl Trust Manager из этого Trusting все сертификаты с okHttp , но где мне нужно написать этот код.