Возникновение проблемы рукопожатия SSL на Android уровне API 19 - PullRequest
0 голосов
/ 14 февраля 2020

Я занимаюсь разработкой приложения для 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 , но где мне нужно написать этот код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...