react-native-security-suite 0.4.3 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,12 +1,14 @@
1
1
  # react-native-security-suite
2
2
 
3
- React Native security solutions for both Android and iOS
3
+ Security solutions for React Native both platform Android and iOS
4
+ You can use any of the following:
4
5
 
5
6
  <ol>
6
- <li>SSL Pinning</li>
7
- <li>Secure storage</li>
8
- <li>Encryption/Decryption</li>
9
- <li>Root/Jailbreak detection</li>
7
+ <li>Android Root device or iOS Jailbreak device detection</li>
8
+ <li>Text Encryption/Decryption</li>
9
+ <li>Secure storage</li>
10
+ <li>Diffie–Hellman key exchange</li>
11
+ <li>SSL Pinning & public key pinning</li>
10
12
  </ol>
11
13
 
12
14
  ## Installation
@@ -21,28 +23,30 @@ npm install react-native-security-suite
21
23
 
22
24
  ## Usage
23
25
 
24
- 1. SSL Pinning example:
26
+ \
27
+
28
+ 1. Android Root or iOS Jailbreak devices detection example:
25
29
 
26
30
  ```js
27
- import { fetch } from 'react-native-security-suite';
31
+ import { deviceHasSecurityRisk } from 'react-native-security-suite';
28
32
 
29
- const response = await fetch('URL', {
30
- method: 'GET',
31
- body: {},
32
- headers: {},
33
- certificates: [
34
- /* certificates */
35
- ],
36
- validDomains: [
37
- /* your valid domains */
38
- ],
39
- timeout: 6000,
40
- });
41
- console.log('server response: ', response.json());
33
+ const isRiskyDevice = await deviceHasSecurityRisk();
34
+ console.log('Root/Jailbreak detection result: ', isRiskyDevice);
35
+ ```
36
+
37
+ \
38
+ 2. Text Encryption/Decryption example:
39
+
40
+ ```js
41
+ //
42
+ const softEncrypted = await encrypt('STR_FOR_ENCRYPT');
43
+ console.log('Encrypted result: ', softEncrypted);
44
+ const softDecrypted = await decrypt('STR_FOR_DECRYPT');
45
+ console.log('Decrypted result: ', softDecrypted);
42
46
  ```
43
47
 
44
48
  \
45
- 2. Secure storage example:
49
+ 3. Secure storage example:
46
50
 
47
51
  ```js
48
52
  import { SecureStorage } from 'react-native-security-suite';
@@ -52,7 +56,7 @@ console.log(await SecureStorage.getItem('key'));
52
56
  ```
53
57
 
54
58
  \
55
- 3. Encryption/Decryption example(with key exchange or without key exchange):
59
+ 4. Diffie–Hellman key exchange:
56
60
 
57
61
  ```js
58
62
  import {
@@ -79,24 +83,31 @@ const hardEncrypted = await encryptBySharedKey('STR_FOR_ENCRYPT');
79
83
  console.log('Encrypted result: ', hardEncrypted);
80
84
  const hardDecrypted = await decryptBySharedKey('STR_FOR_DECRYPT');
81
85
  console.log('Decrypted result: ', hardDecrypted);
82
-
83
- // ------- OR --------
84
-
85
- // 2. Soft Encrypt/Decrypt without sharedKey
86
- const softEncrypted = await encrypt('STR_FOR_ENCRYPT');
87
- console.log('Encrypted result: ', softEncrypted);
88
- const softDecrypted = await decrypt('STR_FOR_DECRYPT');
89
- console.log('Decrypted result: ', softDecrypted);
90
86
  ```
91
87
 
92
- \
93
- 4. Root/Jailbreak detection example:
88
+ 5. SSL Pinning example:
94
89
 
95
90
  ```js
96
- import { deviceHasSecurityRisk } from 'react-native-security-suite';
91
+ import { fetch } from 'react-native-security-suite';
97
92
 
98
- const isRiskyDevice = await deviceHasSecurityRisk();
99
- console.log('Root/Jailbreak detection result: ', isRiskyDevice);
93
+ const response = await fetch('URL', {
94
+ method: 'GET', // or any http methods
95
+ headers: {
96
+ /* your request header */
97
+ 'Content-Type': 'application/json',
98
+ },
99
+ body: undefiend,
100
+ certificates: [
101
+ /* certificates */
102
+ 'sha256/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=',
103
+ ],
104
+ validDomains: [
105
+ /* your valid domains */
106
+ 'example.com',
107
+ ],
108
+ timeout: 6000,
109
+ });
110
+ console.log('server response: ', response.json());
100
111
  ```
101
112
 
102
113
  ## Contributing
@@ -1,4 +1,8 @@
1
+ apply plugin: "kotlin-android"
2
+
1
3
  buildscript {
4
+ def kotlin_version = rootProject.ext.has('kotlinVersion') ? rootProject.ext.get('kotlinVersion') : project.properties['SecuritySuite_kotlinVersion']
5
+
2
6
  repositories {
3
7
  google()
4
8
  mavenCentral()
@@ -6,6 +10,7 @@ buildscript {
6
10
 
7
11
  dependencies {
8
12
  classpath "com.android.tools.build:gradle:7.2.1"
13
+ classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
9
14
  }
10
15
  }
11
16
 
@@ -84,6 +89,7 @@ repositories {
84
89
  jcenter()
85
90
  }
86
91
 
92
+ def kotlin_version = getExtOrDefault('kotlinVersion')
87
93
 
88
94
  dependencies {
89
95
  // For < 0.71, this will be from the local maven repo
@@ -92,6 +98,8 @@ dependencies {
92
98
  implementation "com.facebook.react:react-native:+"
93
99
  implementation "com.squareup.okhttp3:okhttp:3.0.1"
94
100
  implementation "com.scottyab:rootbeer-lib:0.1.0"
101
+ implementation "com.github.mrmike:ok2curl:0.8.0"
102
+ implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
95
103
  }
96
104
 
97
105
  if (isNewArchitectureEnabled()) {
@@ -0,0 +1,19 @@
1
+ package com.securitysuite
2
+
3
+ import android.util.Log
4
+ import com.moczul.ok2curl.logger.Logger
5
+
6
+ class AndroidLogger : Logger {
7
+
8
+ override fun log(message: String) {
9
+ curl = message
10
+
11
+ // Log.v(TAG, message)
12
+ }
13
+
14
+ companion object {
15
+ const val TAG = "Ok2Curl"
16
+
17
+ @JvmStatic var curl : String? = null
18
+ }
19
+ }
@@ -11,6 +11,11 @@ import com.facebook.react.bridge.ReadableMap;
11
11
  import com.facebook.react.bridge.ReadableMapKeySetIterator;
12
12
  import com.facebook.react.bridge.ReadableType;
13
13
  import com.facebook.react.bridge.WritableMap;
14
+ import com.moczul.ok2curl.modifier.HeaderModifier;
15
+ import com.securitysuite.modifier.Base64Decoder;
16
+ import com.securitysuite.modifier.BasicAuthorizationHeaderModifier;
17
+ import com.moczul.ok2curl.Configuration;
18
+ import com.moczul.ok2curl.CurlInterceptor;
14
19
 
15
20
  import org.json.JSONException;
16
21
 
@@ -22,7 +27,9 @@ import java.io.InputStream;
22
27
  import java.io.OutputStream;
23
28
  import java.net.URI;
24
29
  import java.net.URISyntaxException;
30
+ import java.util.ArrayList;
25
31
  import java.util.HashMap;
32
+ import java.util.List;
26
33
  import java.util.Map;
27
34
  import java.util.concurrent.TimeUnit;
28
35
 
@@ -40,6 +47,7 @@ public class Sslpinning {
40
47
  private static String content_type = "application/json; charset=utf-8";
41
48
  public static MediaType mediaType = MediaType.parse(content_type);
42
49
  String responseBodyString = "{}";
50
+ private static AndroidLogger curl = null;
43
51
 
44
52
  public Sslpinning(ReactApplicationContext context) {
45
53
  this.context = context;
@@ -94,6 +102,12 @@ public class Sslpinning {
94
102
 
95
103
  output.putInt("status", responseCode);
96
104
  output.putString("url", request.url().toString());
105
+ output.putString("curl", curl.getCurl());
106
+
107
+ // response time
108
+ long tx = response.sentRequestAtMillis();
109
+ long rx = response.receivedResponseAtMillis();
110
+ output.putString("duration", (rx - tx) + "ms");
97
111
 
98
112
  if (!response.isSuccessful() || responseCode >= 400) {
99
113
  output.putString("error", responseBodyString);
@@ -122,20 +136,23 @@ public class Sslpinning {
122
136
 
123
137
  ReadableArray hashes = options.getArray("certificates");
124
138
  for (int i = 0; i < hashes.size(); i++) {
125
- certificatePinner.add(hostname, "sha256/" + hashes.getString(i));
139
+ certificatePinner.add(hostname, hashes.getString(i));
126
140
  }
127
141
 
128
142
  return certificatePinner.build();
129
143
  }
130
144
 
131
145
  private OkHttpClient getClient(ReadableMap options, CertificatePinner certificatePinner) throws JSONException {
132
- if (options.hasKey("timeout")) {
146
+ CurlInterceptor curlInterceptor = handleCurl();
147
+
148
+ if (options.hasKey("timeout")) {
133
149
  int timeout = options.getInt("timeout");
134
150
  return new OkHttpClient.Builder()
135
151
  .connectTimeout(timeout, TimeUnit.MILLISECONDS)
136
152
  .readTimeout(timeout, TimeUnit.MILLISECONDS)
137
153
  .writeTimeout(timeout, TimeUnit.MILLISECONDS)
138
154
  .certificatePinner(certificatePinner)
155
+ .addInterceptor(curlInterceptor)
139
156
  .build();
140
157
  } else {
141
158
  return new OkHttpClient.Builder()
@@ -144,6 +161,16 @@ public class Sslpinning {
144
161
  }
145
162
  }
146
163
 
164
+ private CurlInterceptor handleCurl() {
165
+ BasicAuthorizationHeaderModifier modifier = new BasicAuthorizationHeaderModifier(new Base64Decoder());
166
+ List<HeaderModifier> headerModifiers = new ArrayList<>();
167
+ headerModifiers.add(modifier);
168
+ Configuration config = new Configuration(headerModifiers);
169
+ CurlInterceptor curlInterceptor = new CurlInterceptor(curl = new AndroidLogger(), config);
170
+
171
+ return curlInterceptor;
172
+ }
173
+
147
174
  private static String getHostname(String url) throws URISyntaxException {
148
175
  URI uri = new URI(url);
149
176
  String domain = uri.getHost();
@@ -0,0 +1,11 @@
1
+ package com.securitysuite.modifier
2
+
3
+ import android.util.Base64
4
+
5
+ class Base64Decoder {
6
+
7
+ fun decode(value: String): String {
8
+ val decodedBytes = Base64.decode(value.toByteArray(), Base64.DEFAULT)
9
+ return String(decodedBytes)
10
+ }
11
+ }
@@ -0,0 +1,16 @@
1
+ package com.securitysuite.modifier
2
+
3
+ import com.moczul.ok2curl.Header
4
+ import com.moczul.ok2curl.modifier.HeaderModifier
5
+
6
+ class BasicAuthorizationHeaderModifier(private val base64Decoder: Base64Decoder) : HeaderModifier {
7
+ override fun matches(header: Header): Boolean {
8
+ return "Authorization" == header.name && header.value.startsWith("Basic")
9
+ }
10
+
11
+ override fun modify(header: Header): Header {
12
+ val valueToDecode = header.value.replace("Basic", "").trim()
13
+ val decodedHeaderValue = base64Decoder.decode(valueToDecode)
14
+ return Header(name = header.name, value = decodedHeaderValue)
15
+ }
16
+ }
@@ -136,6 +136,7 @@ class SecuritySuite: NSObject {
136
136
 
137
137
  let sslPinning = SSLPinning(data: data)
138
138
 
139
+ let startTime = Date()
139
140
  var request = URLRequest(url: URL(string: url as String)!)
140
141
 
141
142
  if data["method"] != nil { request.httpMethod = data["method"] as! String } else { request.httpMethod = "POST" }
@@ -158,6 +159,8 @@ class SecuritySuite: NSObject {
158
159
  ]
159
160
  if errorString == nil && responseCode! < 400 {
160
161
  result["response"] = responseString
162
+ result["curl"] = request.cURL();
163
+ result["duration"] = "\(Int(Date().timeIntervalSince(startTime) * 1000))ms"
161
164
  result["responseJSON"] = responseJSON
162
165
  callback([result, NSNull()])
163
166
  } else {
@@ -0,0 +1,4 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <Workspace
3
+ version = "1.0">
4
+ </Workspace>
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>IDEDidComputeMac32BitWarning</key>
6
+ <true/>
7
+ </dict>
8
+ </plist>
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <Bucket
3
+ uuid = "A64F3F4E-A635-49DB-ABEE-307D79B2D34E"
4
+ type = "1"
5
+ version = "2.0">
6
+ </Bucket>
@@ -0,0 +1,14 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>SchemeUserState</key>
6
+ <dict>
7
+ <key>SecuritySuite.xcscheme_^#shared#^_</key>
8
+ <dict>
9
+ <key>orderHint</key>
10
+ <integer>0</integer>
11
+ </dict>
12
+ </dict>
13
+ </dict>
14
+ </plist>
@@ -1,3 +1,5 @@
1
+ import Foundation
2
+
1
3
  @available(iOS 13.0, *)
2
4
  class SSLPinning: NSObject, URLSessionDelegate {
3
5
  var validDomains: [String] = []
@@ -7,7 +9,8 @@ class SSLPinning: NSObject, URLSessionDelegate {
7
9
  init(data: NSDictionary) {
8
10
  if let certs = data["certificates"] as? [String] {
9
11
  for cert in certs {
10
- intermediateKeyHashes.append(Data(base64Encoded: cert)!)
12
+ var filteredCert = cert.replacingOccurrences(of: "sha256/", with: "", options: .caseInsensitive, range: nil)
13
+ intermediateKeyHashes.append(Data(base64Encoded: filteredCert)!)
11
14
  }
12
15
  }
13
16
 
@@ -193,3 +196,29 @@ extension NSRegularExpression {
193
196
  }
194
197
  }
195
198
  }
199
+
200
+ extension URLRequest {
201
+ public func cURL(pretty: Bool = false) -> String {
202
+ let newLine = pretty ? "\\\n" : ""
203
+ let method = (pretty ? "--request " : "-X ") + "\(self.httpMethod ?? "GET") \(newLine)"
204
+ let url: String = (pretty ? "--url " : "") + "\'\(self.url?.absoluteString ?? "")\' \(newLine)"
205
+
206
+ var cURL = "curl "
207
+ var header = ""
208
+ var data: String = ""
209
+
210
+ if let httpHeaders = self.allHTTPHeaderFields, httpHeaders.keys.count > 0 {
211
+ for (key,value) in httpHeaders {
212
+ header += (pretty ? "--header " : "-H ") + "\'\(key): \(value)\' \(newLine)"
213
+ }
214
+ }
215
+
216
+ if let bodyData = self.httpBody, let bodyString = String(data: bodyData, encoding: .utf8), !bodyString.isEmpty {
217
+ data = "--data '\(bodyString)'"
218
+ }
219
+
220
+ cURL += method + url + header + data
221
+
222
+ return cURL
223
+ }
224
+ }
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = exports.decryptBySharedKey = exports.decrypt = exports.SecureStorage = void 0;
6
+ exports.default = exports.decryptBySharedKey = exports.decrypt = exports.SecureStorage = exports.SSEventEmitter = void 0;
7
7
  exports.deviceHasSecurityRisk = deviceHasSecurityRisk;
8
8
  exports.encryptBySharedKey = exports.encrypt = void 0;
9
9
  exports.fetch = fetch;
@@ -12,7 +12,12 @@ var _reactNative = require("react-native");
12
12
  var _asyncStorage = _interopRequireDefault(require("@react-native-async-storage/async-storage"));
13
13
  var _lodash = _interopRequireDefault(require("lodash"));
14
14
  var _helpers = require("./helpers");
15
+ var _events = require("events");
15
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+ /*
18
+ * SSL Pinnning start
19
+ */
20
+
16
21
  const LINKING_ERROR = `The package 'react-native-security-suite' doesn't seem to be linked. Make sure: \n\n` + _reactNative.Platform.select({
17
22
  ios: "- You have run 'pod install'\n",
18
23
  default: ''
@@ -177,6 +182,11 @@ exports.SecureStorage = SecureStorage;
177
182
  function fetch(url, options) {
178
183
  return new Promise((resolve, reject) => {
179
184
  SecuritySuite.fetch(url, options, (result, error) => {
185
+ SSEventEmitter.emit('fetch', {
186
+ url,
187
+ options,
188
+ response: result || error
189
+ });
180
190
  try {
181
191
  if (error === null) {
182
192
  result.json = () => (0, _helpers.jsonParse)(result.response);
@@ -190,7 +200,8 @@ function fetch(url, options) {
190
200
  message: errorJson === null || errorJson === void 0 ? void 0 : errorJson.message,
191
201
  code: errorJson === null || errorJson === void 0 ? void 0 : errorJson.code,
192
202
  status: error === null || error === void 0 ? void 0 : error.status,
193
- url: error === null || error === void 0 ? void 0 : error.url
203
+ url: error === null || error === void 0 ? void 0 : error.url,
204
+ curl: error === null || error === void 0 ? void 0 : error.curl
194
205
  });
195
206
  }
196
207
  } catch (e) {
@@ -202,6 +213,8 @@ function fetch(url, options) {
202
213
  function deviceHasSecurityRisk() {
203
214
  return SecuritySuite.deviceHasSecurityRisk();
204
215
  }
216
+ const SSEventEmitter = new _events.EventEmitter();
217
+ exports.SSEventEmitter = SSEventEmitter;
205
218
  var _default = SecuritySuite;
206
219
  exports.default = _default;
207
220
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_asyncStorage","_interopRequireDefault","_lodash","_helpers","obj","__esModule","default","LINKING_ERROR","Platform","select","ios","SecuritySuite","NativeModules","Proxy","get","Error","getPublicKey","exports","getSharedKey","serverPublicKey","encryptBySharedKey","input","encrypt","decryptBySharedKey","decrypt","getDeviceId","Promise","resolve","reject","result","error","hardEncryption","arguments","length","undefined","secretKey","storageEncrypt","storageDecrypt","SecureStorage","setItem","key","value","encryptedKey","encryptedValue","AsyncStorage","e","getItem","encryptedData","mergeItem","data","isJsonString","mergedData","JSON","stringify","_","merge","parse","removeItem","getAllKeys","encryptedKeys","all","map","item","decryptedKey","multiSet","keyValuePairs","encryptedKeyValuePairs","console","multiGet","keys","Array","isArray","encryptedItems","decryptedalue","multiMerge","multiRemove","clear","fetch","url","options","json","jsonParse","response","errorJson","path","message","code","status","deviceHasSecurityRisk","_default"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["_reactNative","require","_asyncStorage","_interopRequireDefault","_lodash","_helpers","_events","obj","__esModule","default","LINKING_ERROR","Platform","select","ios","SecuritySuite","NativeModules","Proxy","get","Error","getPublicKey","exports","getSharedKey","serverPublicKey","encryptBySharedKey","input","encrypt","decryptBySharedKey","decrypt","getDeviceId","Promise","resolve","reject","result","error","hardEncryption","arguments","length","undefined","secretKey","storageEncrypt","storageDecrypt","SecureStorage","setItem","key","value","encryptedKey","encryptedValue","AsyncStorage","e","getItem","encryptedData","mergeItem","data","isJsonString","mergedData","JSON","stringify","_","merge","parse","removeItem","getAllKeys","encryptedKeys","all","map","item","decryptedKey","multiSet","keyValuePairs","encryptedKeyValuePairs","console","multiGet","keys","Array","isArray","encryptedItems","decryptedalue","multiMerge","multiRemove","clear","fetch","url","options","SSEventEmitter","emit","response","json","jsonParse","errorJson","path","message","code","status","curl","deviceHasSecurityRisk","EventEmitter","_default"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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"}
@@ -2,6 +2,12 @@ import { NativeModules, Platform } from 'react-native';
2
2
  import AsyncStorage from '@react-native-async-storage/async-storage';
3
3
  import _ from 'lodash';
4
4
  import { isJsonString, jsonParse } from './helpers';
5
+ import { EventEmitter } from 'events';
6
+
7
+ /*
8
+ * SSL Pinnning start
9
+ */
10
+
5
11
  const LINKING_ERROR = `The package 'react-native-security-suite' doesn't seem to be linked. Make sure: \n\n` + Platform.select({
6
12
  ios: "- You have run 'pod install'\n",
7
13
  default: ''
@@ -158,6 +164,11 @@ export const SecureStorage = {
158
164
  export function fetch(url, options) {
159
165
  return new Promise((resolve, reject) => {
160
166
  SecuritySuite.fetch(url, options, (result, error) => {
167
+ SSEventEmitter.emit('fetch', {
168
+ url,
169
+ options,
170
+ response: result || error
171
+ });
161
172
  try {
162
173
  if (error === null) {
163
174
  result.json = () => jsonParse(result.response);
@@ -171,7 +182,8 @@ export function fetch(url, options) {
171
182
  message: errorJson === null || errorJson === void 0 ? void 0 : errorJson.message,
172
183
  code: errorJson === null || errorJson === void 0 ? void 0 : errorJson.code,
173
184
  status: error === null || error === void 0 ? void 0 : error.status,
174
- url: error === null || error === void 0 ? void 0 : error.url
185
+ url: error === null || error === void 0 ? void 0 : error.url,
186
+ curl: error === null || error === void 0 ? void 0 : error.curl
175
187
  });
176
188
  }
177
189
  } catch (e) {
@@ -183,5 +195,6 @@ export function fetch(url, options) {
183
195
  export function deviceHasSecurityRisk() {
184
196
  return SecuritySuite.deviceHasSecurityRisk();
185
197
  }
198
+ export const SSEventEmitter = new EventEmitter();
186
199
  export default SecuritySuite;
187
200
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["NativeModules","Platform","AsyncStorage","_","isJsonString","jsonParse","LINKING_ERROR","select","ios","default","SecuritySuite","Proxy","get","Error","getPublicKey","getSharedKey","serverPublicKey","encryptBySharedKey","input","encrypt","decryptBySharedKey","decrypt","getDeviceId","Promise","resolve","reject","result","error","hardEncryption","arguments","length","undefined","secretKey","storageEncrypt","storageDecrypt","SecureStorage","setItem","key","value","encryptedKey","encryptedValue","e","getItem","encryptedData","mergeItem","data","mergedData","JSON","stringify","merge","parse","removeItem","getAllKeys","encryptedKeys","all","map","item","decryptedKey","multiSet","keyValuePairs","encryptedKeyValuePairs","console","multiGet","keys","Array","isArray","encryptedItems","decryptedalue","multiMerge","multiRemove","clear","fetch","url","options","json","response","errorJson","path","message","code","status","deviceHasSecurityRisk"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["NativeModules","Platform","AsyncStorage","_","isJsonString","jsonParse","EventEmitter","LINKING_ERROR","select","ios","default","SecuritySuite","Proxy","get","Error","getPublicKey","getSharedKey","serverPublicKey","encryptBySharedKey","input","encrypt","decryptBySharedKey","decrypt","getDeviceId","Promise","resolve","reject","result","error","hardEncryption","arguments","length","undefined","secretKey","storageEncrypt","storageDecrypt","SecureStorage","setItem","key","value","encryptedKey","encryptedValue","e","getItem","encryptedData","mergeItem","data","mergedData","JSON","stringify","merge","parse","removeItem","getAllKeys","encryptedKeys","all","map","item","decryptedKey","multiSet","keyValuePairs","encryptedKeyValuePairs","console","multiGet","keys","Array","isArray","encryptedItems","decryptedalue","multiMerge","multiRemove","clear","fetch","url","options","SSEventEmitter","emit","response","json","errorJson","path","message","code","status","curl","deviceHasSecurityRisk"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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"}
@@ -1,4 +1,42 @@
1
- import type { ErrorResponse, Options, SuccessResponse } from 'react-native-security-suite';
1
+ /// <reference types="node" />
2
+ import { EventEmitter } from 'events';
3
+ interface Response {
4
+ status: number;
5
+ url: string;
6
+ json: () => Promise<{
7
+ [key: string]: any;
8
+ }>;
9
+ }
10
+ export interface SuccessResponse extends Response {
11
+ response: string;
12
+ responseJSON: Promise<{
13
+ [key: string]: any;
14
+ }>;
15
+ curl: string;
16
+ }
17
+ export interface ErrorResponse extends Response {
18
+ error: string;
19
+ path: string;
20
+ message: string;
21
+ code: string;
22
+ curl: string;
23
+ }
24
+ interface Header {
25
+ [headerName: string]: string;
26
+ }
27
+ export interface Options {
28
+ body?: string | object;
29
+ headers?: Header;
30
+ method?: 'DELETE' | 'GET' | 'POST' | 'PUT';
31
+ certificates?: string[];
32
+ validDomains?: string[];
33
+ timeout?: number;
34
+ }
35
+ export interface FetchEventResponse {
36
+ url: string;
37
+ options: Options;
38
+ response: SuccessResponse | ErrorResponse;
39
+ }
2
40
  declare const SecuritySuite: any;
3
41
  export declare const getPublicKey: () => Promise<string>;
4
42
  export declare const getSharedKey: (serverPublicKey: string) => Promise<string>;
@@ -21,5 +59,6 @@ export declare const SecureStorage: {
21
59
  };
22
60
  export declare function fetch(url: string, options: Options): Promise<SuccessResponse | ErrorResponse>;
23
61
  export declare function deviceHasSecurityRisk(): Promise<boolean>;
62
+ export declare const SSEventEmitter: EventEmitter;
24
63
  export default SecuritySuite;
25
64
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,aAAa,EACb,OAAO,EACP,eAAe,EAChB,MAAM,6BAA6B,CAAC;AAQrC,QAAA,MAAM,aAAa,KASd,CAAC;AAEN,eAAO,MAAM,YAAY,QAAO,QAAQ,MAAM,CAAiC,CAAC;AAEhF,eAAO,MAAM,YAAY,oBAAqB,MAAM,KAAG,QAAQ,MAAM,CACxB,CAAC;AAE9C,eAAO,MAAM,kBAAkB,UAAW,MAAM,KAAG,QAAQ,MAAM,CACO,CAAC;AAEzE,eAAO,MAAM,kBAAkB,UAAW,MAAM,QACwB,CAAC;AAEzE,eAAO,MAAM,WAAW,QAAO,QAAQ,MAAM,CAMzC,CAAC;AAEL,eAAO,MAAM,OAAO,UACX,MAAM,iDAGZ,QAAQ,MAAM,CAab,CAAC;AAEL,eAAO,MAAM,OAAO,UACX,MAAM,iDAGZ,QAAQ,MAAM,CAab,CAAC;AAEL,eAAO,MAAM,aAAa;mBACH,MAAM,SAAS,MAAM;mBASrB,MAAM;qBASJ,MAAM,SAAS,MAAM;sBAepB,MAAM;;8BAsBb,MAAM,MAAM,MAAM,CAAC,CAAC,KAClC,QAAQ,IAAI,GAAG,MAAM,EAAE,EAAE,CAAC;qBAkBN,MAAM,MAAM,CAAC;gCAsBF,MAAM,MAAM,MAAM,CAAC,CAAC;wBAqB5B,MAAM,MAAM,CAAC;;CAoBxC,CAAC;AAEF,wBAAgB,KAAK,CACnB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,eAAe,GAAG,aAAa,CAAC,CA4B1C;AAED,wBAAgB,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC,CAExD;AAED,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAKtC,UAAU,QAAQ;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,OAAO,CAAC;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,eAAgB,SAAQ,QAAQ;IAC/C,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,OAAO,CAAC;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC,CAAC;IAC9C,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,aAAc,SAAQ,QAAQ;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,MAAM;IACd,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,CAAC;IAC3C,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,eAAe,GAAG,aAAa,CAAC;CAC3C;AAQD,QAAA,MAAM,aAAa,KASd,CAAC;AAEN,eAAO,MAAM,YAAY,QAAO,QAAQ,MAAM,CAAiC,CAAC;AAEhF,eAAO,MAAM,YAAY,oBAAqB,MAAM,KAAG,QAAQ,MAAM,CACxB,CAAC;AAE9C,eAAO,MAAM,kBAAkB,UAAW,MAAM,KAAG,QAAQ,MAAM,CACO,CAAC;AAEzE,eAAO,MAAM,kBAAkB,UAAW,MAAM,QACwB,CAAC;AAEzE,eAAO,MAAM,WAAW,QAAO,QAAQ,MAAM,CAMzC,CAAC;AAEL,eAAO,MAAM,OAAO,UACX,MAAM,iDAGZ,QAAQ,MAAM,CAab,CAAC;AAEL,eAAO,MAAM,OAAO,UACX,MAAM,iDAGZ,QAAQ,MAAM,CAab,CAAC;AAEL,eAAO,MAAM,aAAa;mBACH,MAAM,SAAS,MAAM;mBASrB,MAAM;qBASJ,MAAM,SAAS,MAAM;sBAepB,MAAM;;8BAsBb,MAAM,MAAM,MAAM,CAAC,CAAC,KAClC,QAAQ,IAAI,GAAG,MAAM,EAAE,EAAE,CAAC;qBAkBN,MAAM,MAAM,CAAC;gCAsBF,MAAM,MAAM,MAAM,CAAC,CAAC;wBAqB5B,MAAM,MAAM,CAAC;;CAoBxC,CAAC;AAEF,wBAAgB,KAAK,CACnB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,eAAe,GAAG,aAAa,CAAC,CAmC1C;AAED,wBAAgB,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC,CAExD;AAED,eAAO,MAAM,cAAc,cAAqB,CAAC;AAEjD,eAAe,aAAa,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-security-suite",
3
- "version": "0.4.3",
3
+ "version": "0.5.1",
4
4
  "description": "Security solution for React Native",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
package/src/index.tsx CHANGED
@@ -2,11 +2,49 @@ import { NativeModules, Platform } from 'react-native';
2
2
  import AsyncStorage from '@react-native-async-storage/async-storage';
3
3
  import _ from 'lodash';
4
4
  import { isJsonString, jsonParse } from './helpers';
5
- import type {
6
- ErrorResponse,
7
- Options,
8
- SuccessResponse,
9
- } from 'react-native-security-suite';
5
+ import { EventEmitter } from 'events';
6
+
7
+ /*
8
+ * SSL Pinnning start
9
+ */
10
+ interface Response {
11
+ status: number;
12
+ url: string;
13
+ json: () => Promise<{ [key: string]: any }>;
14
+ }
15
+
16
+ export interface SuccessResponse extends Response {
17
+ response: string;
18
+ responseJSON: Promise<{ [key: string]: any }>;
19
+ curl: string;
20
+ }
21
+
22
+ export interface ErrorResponse extends Response {
23
+ error: string;
24
+ path: string;
25
+ message: string;
26
+ code: string;
27
+ curl: string;
28
+ }
29
+
30
+ interface Header {
31
+ [headerName: string]: string;
32
+ }
33
+
34
+ export interface Options {
35
+ body?: string | object;
36
+ headers?: Header;
37
+ method?: 'DELETE' | 'GET' | 'POST' | 'PUT';
38
+ certificates?: string[];
39
+ validDomains?: string[];
40
+ timeout?: number;
41
+ }
42
+
43
+ export interface FetchEventResponse {
44
+ url: string;
45
+ options: Options;
46
+ response: SuccessResponse | ErrorResponse;
47
+ }
10
48
 
11
49
  const LINKING_ERROR =
12
50
  `The package 'react-native-security-suite' doesn't seem to be linked. Make sure: \n\n` +
@@ -231,6 +269,12 @@ export function fetch(
231
269
  url,
232
270
  options,
233
271
  (result: SuccessResponse, error: ErrorResponse) => {
272
+ SSEventEmitter.emit('fetch', {
273
+ url,
274
+ options,
275
+ response: result || error,
276
+ });
277
+
234
278
  try {
235
279
  if (error === null) {
236
280
  result.json = () => jsonParse(result.response);
@@ -245,6 +289,7 @@ export function fetch(
245
289
  code: errorJson?.code,
246
290
  status: error?.status,
247
291
  url: error?.url,
292
+ curl: error?.curl,
248
293
  });
249
294
  }
250
295
  } catch (e) {
@@ -259,4 +304,6 @@ export function deviceHasSecurityRisk(): Promise<boolean> {
259
304
  return SecuritySuite.deviceHasSecurityRisk();
260
305
  }
261
306
 
307
+ export const SSEventEmitter = new EventEmitter();
308
+
262
309
  export default SecuritySuite;