datatheorem / datatheorem/TrustKit-Android

Need help to initialize socket factory for multiple domain.

Open
#98 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Java
Stars
604
Forks
90
Avg merge
1h 29m
Merged PRs (30d)
2

Description

Hi Team,

I need your help, I'm working with React Native. I'm consuming APIs from different domain. I have to integrate SSL pinning for 'xyz.com' domain and want other services still should work without SSL pinning.

Currently I'm using below code to create builder.

private static String HOSTNAME = "xyz.com";

public OkHttpClient createNewNetworkModuleClient() {
OkHttpClient.Builder client = new OkHttpClient.Builder()
.connectTimeout(0, TimeUnit.MILLISECONDS)
.readTimeout(0, TimeUnit.MILLISECONDS)
.writeTimeout(0, TimeUnit.MILLISECONDS)
.cookieJar(new ReactCookieJarContainer())
.addInterceptor(OkHttp3Helper.getPinningInterceptor())
.followRedirects(false)
.followSslRedirects(false);
.sslSocketFactory(TrustKit.getInstance().getSSLSocketFactory(HOSTNAME ),TrustKit.getInstance().getTrustManager(HOSTNAME ));
return OkHttpClientProvider.enableTls12OnPreLollipop(client).build();

Currently unable to call google services with application. Even React Native Image component not loading image with SSL pinning.

.sslSocketFactory(TrustKit.getInstance().getSSLSocketFactory(HOSTNAME ),TrustKit.getInstance().getTrustManager(HOSTNAME ));

How can we bypass other domain SSL ? Or else if we add pin for respective domain in nextwork config file, How to defined two different domain here in sslSocketFactory.

Can you please help.

Thanks!

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the createNewNetworkModuleClient entry point and inspect how TrustKit's getSSLSocketFactory and getTrustManager are used in the OkHttpClient.Builder. Compare the SSL pinning setup with the needs for xyz.com, Google services, and React Native image loading; done should be a confirmed configuration or documented limitation for multiple domains.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, java, react-native
Domain
mobile-dev, security
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.