{"id":19821249,"url":"https://github.com/mrkpatchaa/react-native-ssl-pinning","last_synced_at":"2025-05-01T12:30:36.415Z","repository":{"id":80798661,"uuid":"165994476","full_name":"mrkpatchaa/react-native-ssl-pinning","owner":"mrkpatchaa","description":"Examples of how to communicate over SSL in your React Native application","archived":false,"fork":false,"pushed_at":"2023-06-27T11:59:52.000Z","size":256,"stargazers_count":7,"open_issues_count":1,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-06T13:21:54.679Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Objective-C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mrkpatchaa.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-01-16T07:26:47.000Z","updated_at":"2024-11-05T00:44:50.000Z","dependencies_parsed_at":null,"dependency_job_id":"e7200eb9-41ce-42f0-9993-671994b8fc1a","html_url":"https://github.com/mrkpatchaa/react-native-ssl-pinning","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrkpatchaa%2Freact-native-ssl-pinning","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrkpatchaa%2Freact-native-ssl-pinning/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrkpatchaa%2Freact-native-ssl-pinning/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrkpatchaa%2Freact-native-ssl-pinning/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mrkpatchaa","download_url":"https://codeload.github.com/mrkpatchaa/react-native-ssl-pinning/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251874163,"owners_count":21657960,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-12T10:26:28.925Z","updated_at":"2025-05-01T12:30:36.408Z","avatar_url":"https://github.com/mrkpatchaa.png","language":"Objective-C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Communicating over SSL in React Native\n\n!!! This reposirtry is experimental and provides cases only for Android. Make sure to check this package that covers ssl pinning in Android and iOS. https://github.com/MaxToyberman/react-native-ssl-pinning\n\nThis project aims to show different cases of communication over SSL between your React Native application and your api.\n\nCheck branches for cases:\n\n- Master branch without any SSL configuration. If you try to run application and press the button , you'll have this error : **`java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.`**\n- Disable SSL verification :danger\n- Add trusted anchor for certificate path\n- Even more security with SSL pinning\n- SSL pinning using [TrustKit](https://github.com/datatheorem/TrustKit-Android)\n- SSL pinning combining TrustKit and custom implementation\n\n\\***Notice:** I did not implement iOS versions. You can find how to do it [here](https://medium.com/@jaedmuva/react-native-ssl-pinning-is-back-ios-version-814dfce2400c) and [here](https://github.com/datatheorem/TrustKit/blob/master/docs/getting-started.md).\n\nYou can read more about SSL pinning (and security) in React Native with theses links:\n\n- [https://medium.com/@jaedmuva/react-native-ssl-pinning-is-back-e317e6682642](https://medium.com/@jaedmuva/react-native-ssl-pinning-is-back-e317e6682642)\n- [https://www.madebymany.com/stories/a-year-of-react-native-ssl-pinning](https://www.madebymany.com/stories/a-year-of-react-native-ssl-pinning)\n- [http://tech.taskrabbit.com/blog/2016/06/17/enable-tls-android-with-react-native/](http://tech.taskrabbit.com/blog/2016/06/17/enable-tls-android-with-react-native/)\n- [https://developer.android.com/training/articles/security-config](https://developer.android.com/training/articles/security-config)\n- [https://www.owasp.org/index.php/Certificate_and_Public_Key_Pinning](https://www.owasp.org/index.php/Certificate_and_Public_Key_Pinning)\n- [https://github.com/datatheorem/TrustKit-Android/issues/6](https://github.com/datatheorem/TrustKit-Android/issues/6)\n\nReference and misc :\n\n- [https://github.com/hawkup/react-native-ssl-pinning](https://github.com/hawkup/react-native-ssl-pinning)\n- [https://github.com/localz/react-native-pinch](https://github.com/localz/react-native-pinch)\n- [https://github.com/approov/react-native-cert-pinner](https://github.com/approov/react-native-cert-pinner)\n- [https://github.com/wkh237/react-native-fetch-blob](https://github.com/wkh237/react-native-fetch-blob)\n- [https://github.com/joltup/rn-fetch-blob](https://github.com/joltup/rn-fetch-blob)\n\n## Installation\n\n```\nyarn\n```\n\n## Launch the server\n\n```\nyarn server\n```\n\n## Launch application\n\n### iOS\n\n```\nyarn ios\n```\n\n### Android\n\n```\nyarn android\n```\n\n### Testing\n\nYou can view console in Chrome or in [React Native Debugger](https://github.com/jhen0409/react-native-debugger)\n\nLaunch application and press button to make api call.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrkpatchaa%2Freact-native-ssl-pinning","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmrkpatchaa%2Freact-native-ssl-pinning","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrkpatchaa%2Freact-native-ssl-pinning/lists"}