react-native-security-suite 0.2.0 → 0.3.0
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/LICENSE +1 -2
- package/android/build.gradle +85 -43
- package/android/gradle.properties +5 -0
- package/android/src/main/AndroidManifest.xml +1 -3
- package/android/src/main/AndroidManifestDeprecated.xml +3 -0
- package/android/src/main/java/com/{reactnativesecuritysuite → securitysuite}/SecuritySuiteModule.java +1 -1
- package/android/src/main/java/com/{reactnativesecuritysuite → securitysuite}/SecuritySuitePackage.java +1 -1
- package/android/src/main/java/com/{reactnativesecuritysuite → securitysuite}/StorageEncryption.java +1 -2
- package/ios/SecuritySuite.xcodeproj/project.pbxproj +12 -10
- package/ios/SecuritySuite.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -3
- package/ios/SecuritySuite.xcodeproj/project.xcworkspace/xcuserdata/mohammadnavabi.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- package/lib/commonjs/helpers.js +0 -3
- package/lib/commonjs/helpers.js.map +1 -1
- package/lib/commonjs/index.js +17 -37
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/helpers.js +0 -1
- package/lib/module/helpers.js.map +1 -1
- package/lib/module/index.js +17 -14
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/helpers.d.ts +1 -0
- package/lib/typescript/helpers.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +2 -1
- package/lib/typescript/index.d.ts.map +1 -0
- package/package.json +45 -35
- package/react-native-security-suite.podspec +18 -2
- package/src/index.tsx +24 -16
- package/android/.gradle/7.4/checksums/checksums.lock +0 -0
- package/android/.gradle/7.4/checksums/md5-checksums.bin +0 -0
- package/android/.gradle/7.4/checksums/sha1-checksums.bin +0 -0
- package/android/.gradle/7.4/dependencies-accessors/dependencies-accessors.lock +0 -0
- package/android/.gradle/7.4/dependencies-accessors/gc.properties +0 -0
- package/android/.gradle/7.4/executionHistory/executionHistory.bin +0 -0
- package/android/.gradle/7.4/executionHistory/executionHistory.lock +0 -0
- package/android/.gradle/7.4/fileChanges/last-build.bin +0 -0
- package/android/.gradle/7.4/fileHashes/fileHashes.bin +0 -0
- package/android/.gradle/7.4/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/7.4/fileHashes/resourceHashesCache.bin +0 -0
- package/android/.gradle/7.4/gc.properties +0 -0
- package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/android/.gradle/buildOutputCleanup/cache.properties +0 -2
- package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
- package/android/.gradle/file-system.probe +0 -0
- package/android/.gradle/vcs-1/gc.properties +0 -0
- package/android/.idea/compiler.xml +0 -6
- package/android/.idea/gradle.xml +0 -17
- package/android/.idea/jarRepositories.xml +0 -40
- package/android/.idea/misc.xml +0 -10
- package/android/.idea/vcs.xml +0 -6
- package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/android/gradle/wrapper/gradle-wrapper.properties +0 -5
- package/android/gradlew +0 -234
- package/android/gradlew.bat +0 -89
- package/android/local.properties +0 -8
- package/ios/SecuritySuite.xcodeproj/project.xcworkspace/xcuserdata/Navabi.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- /package/ios/{SecuritySuite.m → SecuritySuite.mm} +0 -0
- /package/ios/SecuritySuite.xcodeproj/xcuserdata/{Navabi.xcuserdatad → mohammadnavabi.xcuserdatad}/xcschemes/xcschememanagement.plist +0 -0
package/LICENSE
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
MIT License
|
|
2
2
|
|
|
3
|
-
Copyright (c)
|
|
4
|
-
|
|
3
|
+
Copyright (c) 2023 Mohammad Navabi
|
|
5
4
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
5
|
of this software and associated documentation files (the "Software"), to deal
|
|
7
6
|
in the Software without restriction, including without limitation the rights
|
package/android/build.gradle
CHANGED
|
@@ -1,60 +1,102 @@
|
|
|
1
1
|
buildscript {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
classpath 'com.android.tools.build:gradle:3.5.3'
|
|
11
|
-
}
|
|
12
|
-
}
|
|
2
|
+
repositories {
|
|
3
|
+
google()
|
|
4
|
+
mavenCentral()
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
dependencies {
|
|
8
|
+
classpath "com.android.tools.build:gradle:7.2.1"
|
|
9
|
+
}
|
|
13
10
|
}
|
|
14
11
|
|
|
15
|
-
|
|
12
|
+
def isNewArchitectureEnabled() {
|
|
13
|
+
return rootProject.hasProperty("newArchEnabled") && rootProject.getProperty("newArchEnabled") == "true"
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
apply plugin: "com.android.library"
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
def appProject = rootProject.allprojects.find { it.plugins.hasPlugin('com.android.application') }
|
|
16
20
|
|
|
17
|
-
|
|
18
|
-
|
|
21
|
+
if (isNewArchitectureEnabled()) {
|
|
22
|
+
apply plugin: "com.facebook.react"
|
|
19
23
|
}
|
|
20
24
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
minSdkVersion safeExtGet('SecuritySuite_minSdkVersion', 21)
|
|
25
|
-
targetSdkVersion safeExtGet('SecuritySuite_targetSdkVersion', 31)
|
|
26
|
-
versionCode 1
|
|
27
|
-
versionName "1.0"
|
|
25
|
+
def getExtOrDefault(name) {
|
|
26
|
+
return rootProject.ext.has(name) ? rootProject.ext.get(name) : project.properties["SecuritySuite_" + name]
|
|
27
|
+
}
|
|
28
28
|
|
|
29
|
-
|
|
29
|
+
def getExtOrIntegerDefault(name) {
|
|
30
|
+
return rootProject.ext.has(name) ? rootProject.ext.get(name) : (project.properties["SecuritySuite_" + name]).toInteger()
|
|
31
|
+
}
|
|
30
32
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
33
|
+
def supportsNamespace() {
|
|
34
|
+
def parsed = com.android.Version.ANDROID_GRADLE_PLUGIN_VERSION.tokenize('.')
|
|
35
|
+
def major = parsed[0].toInteger()
|
|
36
|
+
def minor = parsed[1].toInteger()
|
|
37
|
+
|
|
38
|
+
// Namespace support was added in 7.3.0
|
|
39
|
+
if (major == 7 && minor >= 3) {
|
|
40
|
+
return true
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
return major >= 8
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
android {
|
|
47
|
+
if (supportsNamespace()) {
|
|
48
|
+
namespace "com.securitysuite"
|
|
49
|
+
} else {
|
|
50
|
+
sourceSets {
|
|
51
|
+
main {
|
|
52
|
+
manifest.srcFile "src/main/AndroidManifestDeprecated.xml"
|
|
53
|
+
}
|
|
38
54
|
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
compileSdkVersion getExtOrIntegerDefault("compileSdkVersion")
|
|
58
|
+
|
|
59
|
+
defaultConfig {
|
|
60
|
+
minSdkVersion getExtOrIntegerDefault("minSdkVersion")
|
|
61
|
+
targetSdkVersion getExtOrIntegerDefault("targetSdkVersion")
|
|
62
|
+
buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled().toString()
|
|
63
|
+
}
|
|
64
|
+
buildTypes {
|
|
65
|
+
release {
|
|
66
|
+
minifyEnabled false
|
|
42
67
|
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
lintOptions {
|
|
71
|
+
disable "GradleCompatible"
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
compileOptions {
|
|
75
|
+
sourceCompatibility JavaVersion.VERSION_1_8
|
|
76
|
+
targetCompatibility JavaVersion.VERSION_1_8
|
|
77
|
+
}
|
|
78
|
+
|
|
43
79
|
}
|
|
44
80
|
|
|
45
81
|
repositories {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
url("$rootDir/../node_modules/react-native/android")
|
|
50
|
-
}
|
|
51
|
-
google()
|
|
52
|
-
mavenCentral()
|
|
53
|
-
jcenter()
|
|
82
|
+
mavenCentral()
|
|
83
|
+
google()
|
|
84
|
+
jcenter()
|
|
54
85
|
}
|
|
55
86
|
|
|
87
|
+
|
|
56
88
|
dependencies {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
89
|
+
// For < 0.71, this will be from the local maven repo
|
|
90
|
+
// For > 0.71, this will be replaced by `com.facebook.react:react-android:$version` by react gradle plugin
|
|
91
|
+
//noinspection GradleDynamicVersion
|
|
92
|
+
implementation "com.facebook.react:react-native:+"
|
|
93
|
+
implementation "com.scottyab:rootbeer-lib:0.1.0"
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
if (isNewArchitectureEnabled()) {
|
|
97
|
+
react {
|
|
98
|
+
jsRootDir = file("../src/")
|
|
99
|
+
libraryName = "SecuritySuite"
|
|
100
|
+
codegenJavaPackageName = "com.securitysuite"
|
|
101
|
+
}
|
|
60
102
|
}
|
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
objects = {
|
|
8
8
|
|
|
9
9
|
/* Begin PBXBuildFile section */
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
48C650222A751374001FA3B0 /* StorageEncryption.swift in Sources */ = {isa = PBXBuildFile; fileRef = 48C650202A751374001FA3B0 /* StorageEncryption.swift */; };
|
|
11
|
+
48C650232A751374001FA3B0 /* DataHashingMethods.swift in Sources */ = {isa = PBXBuildFile; fileRef = 48C650212A751374001FA3B0 /* DataHashingMethods.swift */; };
|
|
12
12
|
F4FF95D7245B92E800C19C63 /* SecuritySuite.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4FF95D6245B92E800C19C63 /* SecuritySuite.swift */; };
|
|
13
13
|
/* End PBXBuildFile section */
|
|
14
14
|
|
|
@@ -26,9 +26,9 @@
|
|
|
26
26
|
|
|
27
27
|
/* Begin PBXFileReference section */
|
|
28
28
|
134814201AA4EA6300B7C361 /* libSecuritySuite.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libSecuritySuite.a; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
B3E7B5891CC2AC0600A0062D /* SecuritySuite.
|
|
29
|
+
48C650202A751374001FA3B0 /* StorageEncryption.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StorageEncryption.swift; sourceTree = "<group>"; };
|
|
30
|
+
48C650212A751374001FA3B0 /* DataHashingMethods.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DataHashingMethods.swift; sourceTree = "<group>"; };
|
|
31
|
+
B3E7B5891CC2AC0600A0062D /* SecuritySuite.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SecuritySuite.mm; sourceTree = "<group>"; };
|
|
32
32
|
F4FF95D5245B92E700C19C63 /* SecuritySuite-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "SecuritySuite-Bridging-Header.h"; sourceTree = "<group>"; };
|
|
33
33
|
F4FF95D6245B92E800C19C63 /* SecuritySuite.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SecuritySuite.swift; sourceTree = "<group>"; };
|
|
34
34
|
/* End PBXFileReference section */
|
|
@@ -56,10 +56,10 @@
|
|
|
56
56
|
isa = PBXGroup;
|
|
57
57
|
children = (
|
|
58
58
|
F4FF95D6245B92E800C19C63 /* SecuritySuite.swift */,
|
|
59
|
-
B3E7B5891CC2AC0600A0062D /* SecuritySuite.
|
|
59
|
+
B3E7B5891CC2AC0600A0062D /* SecuritySuite.mm */,
|
|
60
60
|
F4FF95D5245B92E700C19C63 /* SecuritySuite-Bridging-Header.h */,
|
|
61
|
-
|
|
62
|
-
|
|
61
|
+
48C650212A751374001FA3B0 /* DataHashingMethods.swift */,
|
|
62
|
+
48C650202A751374001FA3B0 /* StorageEncryption.swift */,
|
|
63
63
|
134814211AA4EA7D00B7C361 /* Products */,
|
|
64
64
|
);
|
|
65
65
|
sourceTree = "<group>";
|
|
@@ -121,8 +121,8 @@
|
|
|
121
121
|
isa = PBXSourcesBuildPhase;
|
|
122
122
|
buildActionMask = 2147483647;
|
|
123
123
|
files = (
|
|
124
|
-
|
|
125
|
-
|
|
124
|
+
48C650232A751374001FA3B0 /* DataHashingMethods.swift in Sources */,
|
|
125
|
+
48C650222A751374001FA3B0 /* StorageEncryption.swift in Sources */,
|
|
126
126
|
F4FF95D7245B92E800C19C63 /* SecuritySuite.swift in Sources */,
|
|
127
127
|
);
|
|
128
128
|
runOnlyForDeploymentPostprocessing = 0;
|
|
@@ -158,6 +158,7 @@
|
|
|
158
158
|
COPY_PHASE_STRIP = NO;
|
|
159
159
|
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
|
160
160
|
ENABLE_TESTABILITY = YES;
|
|
161
|
+
"EXCLUDED_ARCHS[sdk=*]" = arm64;
|
|
161
162
|
GCC_C_LANGUAGE_STANDARD = gnu99;
|
|
162
163
|
GCC_DYNAMIC_NO_PIC = NO;
|
|
163
164
|
GCC_NO_COMMON_BLOCKS = YES;
|
|
@@ -208,6 +209,7 @@
|
|
|
208
209
|
COPY_PHASE_STRIP = YES;
|
|
209
210
|
ENABLE_NS_ASSERTIONS = NO;
|
|
210
211
|
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
|
212
|
+
"EXCLUDED_ARCHS[sdk=*]" = arm64;
|
|
211
213
|
GCC_C_LANGUAGE_STANDARD = gnu99;
|
|
212
214
|
GCC_NO_COMMON_BLOCKS = YES;
|
|
213
215
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
|
Binary file
|
package/lib/commonjs/helpers.js
CHANGED
|
@@ -4,16 +4,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.isJsonString = void 0;
|
|
7
|
-
|
|
8
7
|
const isJsonString = value => {
|
|
9
8
|
try {
|
|
10
9
|
JSON.parse(value);
|
|
11
10
|
} catch (e) {
|
|
12
11
|
return false;
|
|
13
12
|
}
|
|
14
|
-
|
|
15
13
|
return true;
|
|
16
14
|
};
|
|
17
|
-
|
|
18
15
|
exports.isJsonString = isJsonString;
|
|
19
16
|
//# sourceMappingURL=helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["isJsonString","value","JSON","parse","e"],"
|
|
1
|
+
{"version":3,"names":["isJsonString","value","JSON","parse","e","exports"],"sourceRoot":"../../src","sources":["helpers.ts"],"mappings":";;;;;;AAAO,MAAMA,YAAY,GAAIC,KAAa,IAAc;EACtD,IAAI;IACFC,IAAI,CAACC,KAAK,CAACF,KAAK,CAAC;EACnB,CAAC,CAAC,OAAOG,CAAC,EAAE;IACV,OAAO,KAAK;EACd;EACA,OAAO,IAAI;AACb,CAAC;AAACC,OAAA,CAAAL,YAAA,GAAAA,YAAA"}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -6,17 +6,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = exports.decryptBySharedKey = exports.decrypt = exports.SecureStorage = void 0;
|
|
7
7
|
exports.deviceHasSecurityRisk = deviceHasSecurityRisk;
|
|
8
8
|
exports.getSharedKey = exports.getPublicKey = exports.getDeviceId = exports.encryptBySharedKey = exports.encrypt = void 0;
|
|
9
|
-
|
|
10
9
|
var _reactNative = require("react-native");
|
|
11
|
-
|
|
12
10
|
var _asyncStorage = _interopRequireDefault(require("@react-native-async-storage/async-storage"));
|
|
13
|
-
|
|
14
11
|
var _lodash = _interopRequireDefault(require("lodash"));
|
|
15
|
-
|
|
16
12
|
var _helpers = require("./helpers");
|
|
17
|
-
|
|
18
13
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
|
-
|
|
20
14
|
const LINKING_ERROR = `The package 'react-native-security-suite' doesn't seem to be linked. Make sure: \n\n` + _reactNative.Platform.select({
|
|
21
15
|
ios: "- You have run 'pod install'\n",
|
|
22
16
|
default: ''
|
|
@@ -25,33 +19,21 @@ const SecuritySuite = _reactNative.NativeModules.SecuritySuite ? _reactNative.Na
|
|
|
25
19
|
get() {
|
|
26
20
|
throw new Error(LINKING_ERROR);
|
|
27
21
|
}
|
|
28
|
-
|
|
29
22
|
});
|
|
30
|
-
|
|
31
23
|
const getPublicKey = () => SecuritySuite.getPublicKey();
|
|
32
|
-
|
|
33
24
|
exports.getPublicKey = getPublicKey;
|
|
34
|
-
|
|
35
25
|
const getSharedKey = serverPublicKey => SecuritySuite.getSharedKey(serverPublicKey);
|
|
36
|
-
|
|
37
26
|
exports.getSharedKey = getSharedKey;
|
|
38
|
-
|
|
39
27
|
const encryptBySharedKey = input => input && typeof input === 'string' ? SecuritySuite.encrypt(input) : '';
|
|
40
|
-
|
|
41
28
|
exports.encryptBySharedKey = encryptBySharedKey;
|
|
42
|
-
|
|
43
29
|
const decryptBySharedKey = input => input && typeof input === 'string' ? SecuritySuite.decrypt(input) : '';
|
|
44
|
-
|
|
45
30
|
exports.decryptBySharedKey = decryptBySharedKey;
|
|
46
|
-
|
|
47
31
|
const getDeviceId = () => new Promise((resolve, reject) => {
|
|
48
32
|
SecuritySuite.getDeviceId((result, error) => {
|
|
49
33
|
if (error !== null) reject(error);else resolve(result);
|
|
50
34
|
});
|
|
51
35
|
});
|
|
52
|
-
|
|
53
36
|
exports.getDeviceId = getDeviceId;
|
|
54
|
-
|
|
55
37
|
const encrypt = function (input) {
|
|
56
38
|
let hardEncryption = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
57
39
|
let secretKey = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
|
@@ -62,9 +44,7 @@ const encrypt = function (input) {
|
|
|
62
44
|
});
|
|
63
45
|
});
|
|
64
46
|
};
|
|
65
|
-
|
|
66
47
|
exports.encrypt = encrypt;
|
|
67
|
-
|
|
68
48
|
const decrypt = function (input) {
|
|
69
49
|
let hardEncryption = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
70
50
|
let secretKey = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
|
@@ -75,7 +55,6 @@ const decrypt = function (input) {
|
|
|
75
55
|
});
|
|
76
56
|
});
|
|
77
57
|
};
|
|
78
|
-
|
|
79
58
|
exports.decrypt = decrypt;
|
|
80
59
|
const SecureStorage = {
|
|
81
60
|
setItem: async (key, value) => {
|
|
@@ -131,15 +110,16 @@ const SecureStorage = {
|
|
|
131
110
|
multiSet: async keyValuePairs => {
|
|
132
111
|
try {
|
|
133
112
|
const encryptedKeyValuePairs = await Promise.all(keyValuePairs.map(async item => {
|
|
134
|
-
if (item.length
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
113
|
+
if (item.length === 2 && item[0] && item[1]) {
|
|
114
|
+
const encryptedKey = await encrypt(item[0], false);
|
|
115
|
+
const encryptedValue = await encrypt(item[1]);
|
|
116
|
+
return [encryptedKey, encryptedValue];
|
|
117
|
+
}
|
|
118
|
+
return null;
|
|
138
119
|
}));
|
|
139
|
-
|
|
140
120
|
_asyncStorage.default.multiSet(encryptedKeyValuePairs);
|
|
141
121
|
} catch (e) {
|
|
142
|
-
|
|
122
|
+
console.error('multiSet error: ', e);
|
|
143
123
|
}
|
|
144
124
|
},
|
|
145
125
|
multiGet: async keys => {
|
|
@@ -159,14 +139,16 @@ const SecureStorage = {
|
|
|
159
139
|
multiMerge: async keyValuePairs => {
|
|
160
140
|
try {
|
|
161
141
|
return keyValuePairs.map(async item => {
|
|
162
|
-
if (item.length
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
142
|
+
if (item.length === 2 && item[0] && item[1]) {
|
|
143
|
+
const encryptedKey = await encrypt(item[0], false);
|
|
144
|
+
const encryptedData = await _asyncStorage.default.getItem(item[0]);
|
|
145
|
+
const data = await decrypt(encryptedData ?? '');
|
|
146
|
+
if (!(0, _helpers.isJsonString)(data) || !(0, _helpers.isJsonString)(item[1])) return null;
|
|
147
|
+
const mergedData = await JSON.stringify(_lodash.default.merge(JSON.parse(data), JSON.parse(item[1])));
|
|
148
|
+
const encryptedValue = await encrypt(mergedData, false);
|
|
149
|
+
return _asyncStorage.default.setItem(encryptedKey, encryptedValue);
|
|
150
|
+
}
|
|
151
|
+
return null;
|
|
170
152
|
});
|
|
171
153
|
} catch (e) {
|
|
172
154
|
return e;
|
|
@@ -190,11 +172,9 @@ const SecureStorage = {
|
|
|
190
172
|
}
|
|
191
173
|
};
|
|
192
174
|
exports.SecureStorage = SecureStorage;
|
|
193
|
-
|
|
194
175
|
function deviceHasSecurityRisk() {
|
|
195
176
|
return SecuritySuite.deviceHasSecurityRisk();
|
|
196
177
|
}
|
|
197
|
-
|
|
198
178
|
var _default = SecuritySuite;
|
|
199
179
|
exports.default = _default;
|
|
200
180
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["LINKING_ERROR","Platform","select","ios","default","SecuritySuite","NativeModules","Proxy","get","Error","getPublicKey","getSharedKey","serverPublicKey","encryptBySharedKey","input","encrypt","decryptBySharedKey","decrypt","getDeviceId","Promise","resolve","reject","result","error","hardEncryption","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","length","multiGet","keys","Array","isArray","encryptedItems","decryptedalue","multiMerge","multiRemove","clear","deviceHasSecurityRisk"],"sources":["index.tsx"],"sourcesContent":["import { NativeModules, Platform } from 'react-native';\nimport AsyncStorage from '@react-native-async-storage/async-storage';\nimport _ from 'lodash';\nimport { isJsonString } from './helpers';\n\nconst LINKING_ERROR =\n `The package 'react-native-security-suite' doesn't seem to be linked. Make sure: \\n\\n` +\n Platform.select({ ios: \"- You have run 'pod install'\\n\", default: '' }) +\n '- You rebuilt the app after installing the package\\n' +\n '- You are not using Expo managed workflow\\n';\n\nconst SecuritySuite = NativeModules.SecuritySuite\n ? NativeModules.SecuritySuite\n : new Proxy(\n {},\n {\n get() {\n throw new Error(LINKING_ERROR);\n },\n }\n );\n\nexport const getPublicKey = (): Promise<string> => SecuritySuite.getPublicKey();\n\nexport const getSharedKey = (serverPublicKey: string): Promise<string> =>\n SecuritySuite.getSharedKey(serverPublicKey);\n\nexport const encryptBySharedKey = (input: string): Promise<string> =>\n input && typeof input === 'string' ? SecuritySuite.encrypt(input) : '';\n\nexport const decryptBySharedKey = (input: string) =>\n input && typeof input === 'string' ? SecuritySuite.decrypt(input) : '';\n\nexport const getDeviceId = (): Promise<string> =>\n new Promise((resolve: any, reject: any) => {\n SecuritySuite.getDeviceId((result: string | null, error: string | null) => {\n if (error !== null) reject(error);\n else resolve(result);\n });\n });\n\nexport const encrypt = (\n input: string,\n hardEncryption = true,\n secretKey = null\n): Promise<string> =>\n new Promise((resolve: any, reject: any) => {\n if (!input) resolve(input);\n\n SecuritySuite.storageEncrypt(\n input,\n secretKey,\n hardEncryption,\n (result: string | null, error: string | null) => {\n if (error !== null) reject(error);\n else resolve(result);\n }\n );\n });\n\nexport const decrypt = (\n input: string,\n hardEncryption = true,\n secretKey = null\n): Promise<string> =>\n new Promise((resolve: any, reject: any) => {\n if (!input) resolve(input);\n\n SecuritySuite.storageDecrypt(\n input,\n secretKey,\n hardEncryption,\n (result: string | null, error: string | null) => {\n if (error !== null) reject(error);\n else resolve(result);\n }\n );\n });\n\nexport const SecureStorage = {\n setItem: async (key: string, value: string) => {\n try {\n const encryptedKey = await encrypt(key, false);\n const encryptedValue = await encrypt(value);\n return AsyncStorage.setItem(encryptedKey, encryptedValue);\n } catch (e) {\n return e;\n }\n },\n getItem: async (key: string) => {\n try {\n const encryptedKey = await encrypt(key, false);\n const encryptedData = await AsyncStorage.getItem(encryptedKey);\n return decrypt(encryptedData ?? '');\n } catch (e) {\n return e;\n }\n },\n mergeItem: async (key: string, value: string) => {\n try {\n const encryptedKey = await encrypt(key, false);\n const encryptedData = await AsyncStorage.getItem(encryptedKey);\n const data = await decrypt(encryptedData ?? '');\n if (!isJsonString(data) || !isJsonString(value)) return null;\n const mergedData = await JSON.stringify(\n _.merge(JSON.parse(data), JSON.parse(value))\n );\n const encryptedValue = await encrypt(mergedData);\n return AsyncStorage.setItem(encryptedKey, encryptedValue);\n } catch (e) {\n return e;\n }\n },\n removeItem: async (key: string) => {\n try {\n const encryptedKey = await encrypt(key, false);\n return AsyncStorage.removeItem(encryptedKey);\n } catch (e) {\n return e;\n }\n },\n getAllKeys: async () => {\n try {\n const encryptedKeys = await AsyncStorage.getAllKeys();\n return await Promise.all(\n encryptedKeys.map(async (item: string): Promise<string> => {\n const decryptedKey = await decrypt(item, false);\n return decryptedKey ? decryptedKey : item;\n })\n );\n } catch (e) {\n return e;\n }\n },\n multiSet: async (keyValuePairs: Array<Array<string>>) => {\n try {\n const encryptedKeyValuePairs: any = await Promise.all(\n keyValuePairs.map(async (item: Array<string>) => {\n if (item.length !== 2) return [];\n const encryptedKey = await encrypt(item[0], false);\n const encryptedValue = await encrypt(item[1]);\n return [encryptedKey, encryptedValue];\n })\n );\n AsyncStorage.multiSet(encryptedKeyValuePairs);\n } catch (e) {\n return e;\n }\n },\n multiGet: async (keys: Array<string>) => {\n try {\n if (!Array.isArray(keys)) return null;\n const encryptedKeys = await Promise.all(\n keys.map(\n async (item: string): Promise<string> => await encrypt(item, false)\n )\n );\n const encryptedItems = await AsyncStorage.multiGet(encryptedKeys);\n return await Promise.all(\n encryptedItems && encryptedItems.length\n ? encryptedItems.map(async (item: any): Promise<string[]> => {\n const decryptedKey = await decrypt(item[0], false);\n const decryptedalue = await decrypt(item[1]);\n return [decryptedKey, decryptedalue];\n })\n : []\n );\n } catch (e) {\n return e;\n }\n },\n multiMerge: async (keyValuePairs: Array<Array<string>>) => {\n try {\n return keyValuePairs.map(async (item: Array<string>) => {\n if (item.length !== 2) return;\n const encryptedKey = await encrypt(item[0], false);\n const encryptedData = await AsyncStorage.getItem(item[0]);\n const data = await decrypt(encryptedData ?? '');\n if (!isJsonString(data) || !isJsonString(item[1])) return null;\n const mergedData = await JSON.stringify(\n _.merge(JSON.parse(data), JSON.parse(item[1]))\n );\n const encryptedValue = await encrypt(mergedData, false);\n return AsyncStorage.setItem(encryptedKey, encryptedValue);\n });\n } catch (e) {\n return e;\n }\n },\n multiRemove: async (keys: Array<string>) => {\n try {\n if (!Array.isArray(keys)) return keys;\n const encryptedKeys = await Promise.all(\n keys.map(\n async (item: string): Promise<string> => await encrypt(item, false)\n )\n );\n return AsyncStorage.multiRemove(encryptedKeys);\n } catch (e) {\n return e;\n }\n },\n clear: async () => {\n try {\n return AsyncStorage.clear();\n } catch (e) {\n return e;\n }\n },\n};\n\nexport function deviceHasSecurityRisk(): Promise<boolean> {\n return SecuritySuite.deviceHasSecurityRisk();\n}\n\nexport default SecuritySuite;\n"],"mappings":"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"}
|
|
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","deviceHasSecurityRisk","_default"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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"}
|
package/lib/module/helpers.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["isJsonString","value","JSON","parse","e"],"
|
|
1
|
+
{"version":3,"names":["isJsonString","value","JSON","parse","e"],"sourceRoot":"../../src","sources":["helpers.ts"],"mappings":"AAAA,OAAO,MAAMA,YAAY,GAAIC,KAAa,IAAc;EACtD,IAAI;IACFC,IAAI,CAACC,KAAK,CAACF,KAAK,CAAC;EACnB,CAAC,CAAC,OAAOG,CAAC,EAAE;IACV,OAAO,KAAK;EACd;EACA,OAAO,IAAI;AACb,CAAC"}
|
package/lib/module/index.js
CHANGED
|
@@ -10,7 +10,6 @@ const SecuritySuite = NativeModules.SecuritySuite ? NativeModules.SecuritySuite
|
|
|
10
10
|
get() {
|
|
11
11
|
throw new Error(LINKING_ERROR);
|
|
12
12
|
}
|
|
13
|
-
|
|
14
13
|
});
|
|
15
14
|
export const getPublicKey = () => SecuritySuite.getPublicKey();
|
|
16
15
|
export const getSharedKey = serverPublicKey => SecuritySuite.getSharedKey(serverPublicKey);
|
|
@@ -95,14 +94,16 @@ export const SecureStorage = {
|
|
|
95
94
|
multiSet: async keyValuePairs => {
|
|
96
95
|
try {
|
|
97
96
|
const encryptedKeyValuePairs = await Promise.all(keyValuePairs.map(async item => {
|
|
98
|
-
if (item.length
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
97
|
+
if (item.length === 2 && item[0] && item[1]) {
|
|
98
|
+
const encryptedKey = await encrypt(item[0], false);
|
|
99
|
+
const encryptedValue = await encrypt(item[1]);
|
|
100
|
+
return [encryptedKey, encryptedValue];
|
|
101
|
+
}
|
|
102
|
+
return null;
|
|
102
103
|
}));
|
|
103
104
|
AsyncStorage.multiSet(encryptedKeyValuePairs);
|
|
104
105
|
} catch (e) {
|
|
105
|
-
|
|
106
|
+
console.error('multiSet error: ', e);
|
|
106
107
|
}
|
|
107
108
|
},
|
|
108
109
|
multiGet: async keys => {
|
|
@@ -122,14 +123,16 @@ export const SecureStorage = {
|
|
|
122
123
|
multiMerge: async keyValuePairs => {
|
|
123
124
|
try {
|
|
124
125
|
return keyValuePairs.map(async item => {
|
|
125
|
-
if (item.length
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
126
|
+
if (item.length === 2 && item[0] && item[1]) {
|
|
127
|
+
const encryptedKey = await encrypt(item[0], false);
|
|
128
|
+
const encryptedData = await AsyncStorage.getItem(item[0]);
|
|
129
|
+
const data = await decrypt(encryptedData ?? '');
|
|
130
|
+
if (!isJsonString(data) || !isJsonString(item[1])) return null;
|
|
131
|
+
const mergedData = await JSON.stringify(_.merge(JSON.parse(data), JSON.parse(item[1])));
|
|
132
|
+
const encryptedValue = await encrypt(mergedData, false);
|
|
133
|
+
return AsyncStorage.setItem(encryptedKey, encryptedValue);
|
|
134
|
+
}
|
|
135
|
+
return null;
|
|
133
136
|
});
|
|
134
137
|
} catch (e) {
|
|
135
138
|
return e;
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeModules","Platform","AsyncStorage","_","isJsonString","LINKING_ERROR","select","ios","default","SecuritySuite","Proxy","get","Error","getPublicKey","getSharedKey","serverPublicKey","encryptBySharedKey","input","encrypt","decryptBySharedKey","decrypt","getDeviceId","Promise","resolve","reject","result","error","hardEncryption","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","length","multiGet","keys","Array","isArray","encryptedItems","decryptedalue","multiMerge","multiRemove","clear","deviceHasSecurityRisk"],"sources":["index.tsx"],"sourcesContent":["import { NativeModules, Platform } from 'react-native';\nimport AsyncStorage from '@react-native-async-storage/async-storage';\nimport _ from 'lodash';\nimport { isJsonString } from './helpers';\n\nconst LINKING_ERROR =\n `The package 'react-native-security-suite' doesn't seem to be linked. Make sure: \\n\\n` +\n Platform.select({ ios: \"- You have run 'pod install'\\n\", default: '' }) +\n '- You rebuilt the app after installing the package\\n' +\n '- You are not using Expo managed workflow\\n';\n\nconst SecuritySuite = NativeModules.SecuritySuite\n ? NativeModules.SecuritySuite\n : new Proxy(\n {},\n {\n get() {\n throw new Error(LINKING_ERROR);\n },\n }\n );\n\nexport const getPublicKey = (): Promise<string> => SecuritySuite.getPublicKey();\n\nexport const getSharedKey = (serverPublicKey: string): Promise<string> =>\n SecuritySuite.getSharedKey(serverPublicKey);\n\nexport const encryptBySharedKey = (input: string): Promise<string> =>\n input && typeof input === 'string' ? SecuritySuite.encrypt(input) : '';\n\nexport const decryptBySharedKey = (input: string) =>\n input && typeof input === 'string' ? SecuritySuite.decrypt(input) : '';\n\nexport const getDeviceId = (): Promise<string> =>\n new Promise((resolve: any, reject: any) => {\n SecuritySuite.getDeviceId((result: string | null, error: string | null) => {\n if (error !== null) reject(error);\n else resolve(result);\n });\n });\n\nexport const encrypt = (\n input: string,\n hardEncryption = true,\n secretKey = null\n): Promise<string> =>\n new Promise((resolve: any, reject: any) => {\n if (!input) resolve(input);\n\n SecuritySuite.storageEncrypt(\n input,\n secretKey,\n hardEncryption,\n (result: string | null, error: string | null) => {\n if (error !== null) reject(error);\n else resolve(result);\n }\n );\n });\n\nexport const decrypt = (\n input: string,\n hardEncryption = true,\n secretKey = null\n): Promise<string> =>\n new Promise((resolve: any, reject: any) => {\n if (!input) resolve(input);\n\n SecuritySuite.storageDecrypt(\n input,\n secretKey,\n hardEncryption,\n (result: string | null, error: string | null) => {\n if (error !== null) reject(error);\n else resolve(result);\n }\n );\n });\n\nexport const SecureStorage = {\n setItem: async (key: string, value: string) => {\n try {\n const encryptedKey = await encrypt(key, false);\n const encryptedValue = await encrypt(value);\n return AsyncStorage.setItem(encryptedKey, encryptedValue);\n } catch (e) {\n return e;\n }\n },\n getItem: async (key: string) => {\n try {\n const encryptedKey = await encrypt(key, false);\n const encryptedData = await AsyncStorage.getItem(encryptedKey);\n return decrypt(encryptedData ?? '');\n } catch (e) {\n return e;\n }\n },\n mergeItem: async (key: string, value: string) => {\n try {\n const encryptedKey = await encrypt(key, false);\n const encryptedData = await AsyncStorage.getItem(encryptedKey);\n const data = await decrypt(encryptedData ?? '');\n if (!isJsonString(data) || !isJsonString(value)) return null;\n const mergedData = await JSON.stringify(\n _.merge(JSON.parse(data), JSON.parse(value))\n );\n const encryptedValue = await encrypt(mergedData);\n return AsyncStorage.setItem(encryptedKey, encryptedValue);\n } catch (e) {\n return e;\n }\n },\n removeItem: async (key: string) => {\n try {\n const encryptedKey = await encrypt(key, false);\n return AsyncStorage.removeItem(encryptedKey);\n } catch (e) {\n return e;\n }\n },\n getAllKeys: async () => {\n try {\n const encryptedKeys = await AsyncStorage.getAllKeys();\n return await Promise.all(\n encryptedKeys.map(async (item: string): Promise<string> => {\n const decryptedKey = await decrypt(item, false);\n return decryptedKey ? decryptedKey : item;\n })\n );\n } catch (e) {\n return e;\n }\n },\n multiSet: async (keyValuePairs: Array<Array<string>>) => {\n try {\n const encryptedKeyValuePairs: any = await Promise.all(\n keyValuePairs.map(async (item: Array<string>) => {\n if (item.length !== 2) return [];\n const encryptedKey = await encrypt(item[0], false);\n const encryptedValue = await encrypt(item[1]);\n return [encryptedKey, encryptedValue];\n })\n );\n AsyncStorage.multiSet(encryptedKeyValuePairs);\n } catch (e) {\n return e;\n }\n },\n multiGet: async (keys: Array<string>) => {\n try {\n if (!Array.isArray(keys)) return null;\n const encryptedKeys = await Promise.all(\n keys.map(\n async (item: string): Promise<string> => await encrypt(item, false)\n )\n );\n const encryptedItems = await AsyncStorage.multiGet(encryptedKeys);\n return await Promise.all(\n encryptedItems && encryptedItems.length\n ? encryptedItems.map(async (item: any): Promise<string[]> => {\n const decryptedKey = await decrypt(item[0], false);\n const decryptedalue = await decrypt(item[1]);\n return [decryptedKey, decryptedalue];\n })\n : []\n );\n } catch (e) {\n return e;\n }\n },\n multiMerge: async (keyValuePairs: Array<Array<string>>) => {\n try {\n return keyValuePairs.map(async (item: Array<string>) => {\n if (item.length !== 2) return;\n const encryptedKey = await encrypt(item[0], false);\n const encryptedData = await AsyncStorage.getItem(item[0]);\n const data = await decrypt(encryptedData ?? '');\n if (!isJsonString(data) || !isJsonString(item[1])) return null;\n const mergedData = await JSON.stringify(\n _.merge(JSON.parse(data), JSON.parse(item[1]))\n );\n const encryptedValue = await encrypt(mergedData, false);\n return AsyncStorage.setItem(encryptedKey, encryptedValue);\n });\n } catch (e) {\n return e;\n }\n },\n multiRemove: async (keys: Array<string>) => {\n try {\n if (!Array.isArray(keys)) return keys;\n const encryptedKeys = await Promise.all(\n keys.map(\n async (item: string): Promise<string> => await encrypt(item, false)\n )\n );\n return AsyncStorage.multiRemove(encryptedKeys);\n } catch (e) {\n return e;\n }\n },\n clear: async () => {\n try {\n return AsyncStorage.clear();\n } catch (e) {\n return e;\n }\n },\n};\n\nexport function deviceHasSecurityRisk(): Promise<boolean> {\n return SecuritySuite.deviceHasSecurityRisk();\n}\n\nexport default SecuritySuite;\n"],"mappings":"AAAA,SAASA,aAAT,EAAwBC,QAAxB,QAAwC,cAAxC;AACA,OAAOC,YAAP,MAAyB,2CAAzB;AACA,OAAOC,CAAP,MAAc,QAAd;AACA,SAASC,YAAT,QAA6B,WAA7B;AAEA,MAAMC,aAAa,GAChB,sFAAD,GACAJ,QAAQ,CAACK,MAAT,CAAgB;EAAEC,GAAG,EAAE,gCAAP;EAAyCC,OAAO,EAAE;AAAlD,CAAhB,CADA,GAEA,sDAFA,GAGA,6CAJF;AAMA,MAAMC,aAAa,GAAGT,aAAa,CAACS,aAAd,GAClBT,aAAa,CAACS,aADI,GAElB,IAAIC,KAAJ,CACE,EADF,EAEE;EACEC,GAAG,GAAG;IACJ,MAAM,IAAIC,KAAJ,CAAUP,aAAV,CAAN;EACD;;AAHH,CAFF,CAFJ;AAWA,OAAO,MAAMQ,YAAY,GAAG,MAAuBJ,aAAa,CAACI,YAAd,EAA5C;AAEP,OAAO,MAAMC,YAAY,GAAIC,eAAD,IAC1BN,aAAa,CAACK,YAAd,CAA2BC,eAA3B,CADK;AAGP,OAAO,MAAMC,kBAAkB,GAAIC,KAAD,IAChCA,KAAK,IAAI,OAAOA,KAAP,KAAiB,QAA1B,GAAqCR,aAAa,CAACS,OAAd,CAAsBD,KAAtB,CAArC,GAAoE,EAD/D;AAGP,OAAO,MAAME,kBAAkB,GAAIF,KAAD,IAChCA,KAAK,IAAI,OAAOA,KAAP,KAAiB,QAA1B,GAAqCR,aAAa,CAACW,OAAd,CAAsBH,KAAtB,CAArC,GAAoE,EAD/D;AAGP,OAAO,MAAMI,WAAW,GAAG,MACzB,IAAIC,OAAJ,CAAY,CAACC,OAAD,EAAeC,MAAf,KAA+B;EACzCf,aAAa,CAACY,WAAd,CAA0B,CAACI,MAAD,EAAwBC,KAAxB,KAAiD;IACzE,IAAIA,KAAK,KAAK,IAAd,EAAoBF,MAAM,CAACE,KAAD,CAAN,CAApB,KACKH,OAAO,CAACE,MAAD,CAAP;EACN,CAHD;AAID,CALD,CADK;AAQP,OAAO,MAAMP,OAAO,GAAG,UACrBD,KADqB;EAAA,IAErBU,cAFqB,uEAEJ,IAFI;EAAA,IAGrBC,SAHqB,uEAGT,IAHS;EAAA,OAKrB,IAAIN,OAAJ,CAAY,CAACC,OAAD,EAAeC,MAAf,KAA+B;IACzC,IAAI,CAACP,KAAL,EAAYM,OAAO,CAACN,KAAD,CAAP;IAEZR,aAAa,CAACoB,cAAd,CACEZ,KADF,EAEEW,SAFF,EAGED,cAHF,EAIE,CAACF,MAAD,EAAwBC,KAAxB,KAAiD;MAC/C,IAAIA,KAAK,KAAK,IAAd,EAAoBF,MAAM,CAACE,KAAD,CAAN,CAApB,KACKH,OAAO,CAACE,MAAD,CAAP;IACN,CAPH;EASD,CAZD,CALqB;AAAA,CAAhB;AAmBP,OAAO,MAAML,OAAO,GAAG,UACrBH,KADqB;EAAA,IAErBU,cAFqB,uEAEJ,IAFI;EAAA,IAGrBC,SAHqB,uEAGT,IAHS;EAAA,OAKrB,IAAIN,OAAJ,CAAY,CAACC,OAAD,EAAeC,MAAf,KAA+B;IACzC,IAAI,CAACP,KAAL,EAAYM,OAAO,CAACN,KAAD,CAAP;IAEZR,aAAa,CAACqB,cAAd,CACEb,KADF,EAEEW,SAFF,EAGED,cAHF,EAIE,CAACF,MAAD,EAAwBC,KAAxB,KAAiD;MAC/C,IAAIA,KAAK,KAAK,IAAd,EAAoBF,MAAM,CAACE,KAAD,CAAN,CAApB,KACKH,OAAO,CAACE,MAAD,CAAP;IACN,CAPH;EASD,CAZD,CALqB;AAAA,CAAhB;AAmBP,OAAO,MAAMM,aAAa,GAAG;EAC3BC,OAAO,EAAE,OAAOC,GAAP,EAAoBC,KAApB,KAAsC;IAC7C,IAAI;MACF,MAAMC,YAAY,GAAG,MAAMjB,OAAO,CAACe,GAAD,EAAM,KAAN,CAAlC;MACA,MAAMG,cAAc,GAAG,MAAMlB,OAAO,CAACgB,KAAD,CAApC;MACA,OAAOhC,YAAY,CAAC8B,OAAb,CAAqBG,YAArB,EAAmCC,cAAnC,CAAP;IACD,CAJD,CAIE,OAAOC,CAAP,EAAU;MACV,OAAOA,CAAP;IACD;EACF,CAT0B;EAU3BC,OAAO,EAAE,MAAOL,GAAP,IAAuB;IAC9B,IAAI;MACF,MAAME,YAAY,GAAG,MAAMjB,OAAO,CAACe,GAAD,EAAM,KAAN,CAAlC;MACA,MAAMM,aAAa,GAAG,MAAMrC,YAAY,CAACoC,OAAb,CAAqBH,YAArB,CAA5B;MACA,OAAOf,OAAO,CAACmB,aAAa,IAAI,EAAlB,CAAd;IACD,CAJD,CAIE,OAAOF,CAAP,EAAU;MACV,OAAOA,CAAP;IACD;EACF,CAlB0B;EAmB3BG,SAAS,EAAE,OAAOP,GAAP,EAAoBC,KAApB,KAAsC;IAC/C,IAAI;MACF,MAAMC,YAAY,GAAG,MAAMjB,OAAO,CAACe,GAAD,EAAM,KAAN,CAAlC;MACA,MAAMM,aAAa,GAAG,MAAMrC,YAAY,CAACoC,OAAb,CAAqBH,YAArB,CAA5B;MACA,MAAMM,IAAI,GAAG,MAAMrB,OAAO,CAACmB,aAAa,IAAI,EAAlB,CAA1B;MACA,IAAI,CAACnC,YAAY,CAACqC,IAAD,CAAb,IAAuB,CAACrC,YAAY,CAAC8B,KAAD,CAAxC,EAAiD,OAAO,IAAP;MACjD,MAAMQ,UAAU,GAAG,MAAMC,IAAI,CAACC,SAAL,CACvBzC,CAAC,CAAC0C,KAAF,CAAQF,IAAI,CAACG,KAAL,CAAWL,IAAX,CAAR,EAA0BE,IAAI,CAACG,KAAL,CAAWZ,KAAX,CAA1B,CADuB,CAAzB;MAGA,MAAME,cAAc,GAAG,MAAMlB,OAAO,CAACwB,UAAD,CAApC;MACA,OAAOxC,YAAY,CAAC8B,OAAb,CAAqBG,YAArB,EAAmCC,cAAnC,CAAP;IACD,CAVD,CAUE,OAAOC,CAAP,EAAU;MACV,OAAOA,CAAP;IACD;EACF,CAjC0B;EAkC3BU,UAAU,EAAE,MAAOd,GAAP,IAAuB;IACjC,IAAI;MACF,MAAME,YAAY,GAAG,MAAMjB,OAAO,CAACe,GAAD,EAAM,KAAN,CAAlC;MACA,OAAO/B,YAAY,CAAC6C,UAAb,CAAwBZ,YAAxB,CAAP;IACD,CAHD,CAGE,OAAOE,CAAP,EAAU;MACV,OAAOA,CAAP;IACD;EACF,CAzC0B;EA0C3BW,UAAU,EAAE,YAAY;IACtB,IAAI;MACF,MAAMC,aAAa,GAAG,MAAM/C,YAAY,CAAC8C,UAAb,EAA5B;MACA,OAAO,MAAM1B,OAAO,CAAC4B,GAAR,CACXD,aAAa,CAACE,GAAd,CAAkB,MAAOC,IAAP,IAAyC;QACzD,MAAMC,YAAY,GAAG,MAAMjC,OAAO,CAACgC,IAAD,EAAO,KAAP,CAAlC;QACA,OAAOC,YAAY,GAAGA,YAAH,GAAkBD,IAArC;MACD,CAHD,CADW,CAAb;IAMD,CARD,CAQE,OAAOf,CAAP,EAAU;MACV,OAAOA,CAAP;IACD;EACF,CAtD0B;EAuD3BiB,QAAQ,EAAE,MAAOC,aAAP,IAA+C;IACvD,IAAI;MACF,MAAMC,sBAA2B,GAAG,MAAMlC,OAAO,CAAC4B,GAAR,CACxCK,aAAa,CAACJ,GAAd,CAAkB,MAAOC,IAAP,IAA+B;QAC/C,IAAIA,IAAI,CAACK,MAAL,KAAgB,CAApB,EAAuB,OAAO,EAAP;QACvB,MAAMtB,YAAY,GAAG,MAAMjB,OAAO,CAACkC,IAAI,CAAC,CAAD,CAAL,EAAU,KAAV,CAAlC;QACA,MAAMhB,cAAc,GAAG,MAAMlB,OAAO,CAACkC,IAAI,CAAC,CAAD,CAAL,CAApC;QACA,OAAO,CAACjB,YAAD,EAAeC,cAAf,CAAP;MACD,CALD,CADwC,CAA1C;MAQAlC,YAAY,CAACoD,QAAb,CAAsBE,sBAAtB;IACD,CAVD,CAUE,OAAOnB,CAAP,EAAU;MACV,OAAOA,CAAP;IACD;EACF,CArE0B;EAsE3BqB,QAAQ,EAAE,MAAOC,IAAP,IAA+B;IACvC,IAAI;MACF,IAAI,CAACC,KAAK,CAACC,OAAN,CAAcF,IAAd,CAAL,EAA0B,OAAO,IAAP;MAC1B,MAAMV,aAAa,GAAG,MAAM3B,OAAO,CAAC4B,GAAR,CAC1BS,IAAI,CAACR,GAAL,CACE,MAAOC,IAAP,IAAyC,MAAMlC,OAAO,CAACkC,IAAD,EAAO,KAAP,CADxD,CAD0B,CAA5B;MAKA,MAAMU,cAAc,GAAG,MAAM5D,YAAY,CAACwD,QAAb,CAAsBT,aAAtB,CAA7B;MACA,OAAO,MAAM3B,OAAO,CAAC4B,GAAR,CACXY,cAAc,IAAIA,cAAc,CAACL,MAAjC,GACIK,cAAc,CAACX,GAAf,CAAmB,MAAOC,IAAP,IAAwC;QACzD,MAAMC,YAAY,GAAG,MAAMjC,OAAO,CAACgC,IAAI,CAAC,CAAD,CAAL,EAAU,KAAV,CAAlC;QACA,MAAMW,aAAa,GAAG,MAAM3C,OAAO,CAACgC,IAAI,CAAC,CAAD,CAAL,CAAnC;QACA,OAAO,CAACC,YAAD,EAAeU,aAAf,CAAP;MACD,CAJD,CADJ,GAMI,EAPO,CAAb;IASD,CAjBD,CAiBE,OAAO1B,CAAP,EAAU;MACV,OAAOA,CAAP;IACD;EACF,CA3F0B;EA4F3B2B,UAAU,EAAE,MAAOT,aAAP,IAA+C;IACzD,IAAI;MACF,OAAOA,aAAa,CAACJ,GAAd,CAAkB,MAAOC,IAAP,IAA+B;QACtD,IAAIA,IAAI,CAACK,MAAL,KAAgB,CAApB,EAAuB;QACvB,MAAMtB,YAAY,GAAG,MAAMjB,OAAO,CAACkC,IAAI,CAAC,CAAD,CAAL,EAAU,KAAV,CAAlC;QACA,MAAMb,aAAa,GAAG,MAAMrC,YAAY,CAACoC,OAAb,CAAqBc,IAAI,CAAC,CAAD,CAAzB,CAA5B;QACA,MAAMX,IAAI,GAAG,MAAMrB,OAAO,CAACmB,aAAa,IAAI,EAAlB,CAA1B;QACA,IAAI,CAACnC,YAAY,CAACqC,IAAD,CAAb,IAAuB,CAACrC,YAAY,CAACgD,IAAI,CAAC,CAAD,CAAL,CAAxC,EAAmD,OAAO,IAAP;QACnD,MAAMV,UAAU,GAAG,MAAMC,IAAI,CAACC,SAAL,CACvBzC,CAAC,CAAC0C,KAAF,CAAQF,IAAI,CAACG,KAAL,CAAWL,IAAX,CAAR,EAA0BE,IAAI,CAACG,KAAL,CAAWM,IAAI,CAAC,CAAD,CAAf,CAA1B,CADuB,CAAzB;QAGA,MAAMhB,cAAc,GAAG,MAAMlB,OAAO,CAACwB,UAAD,EAAa,KAAb,CAApC;QACA,OAAOxC,YAAY,CAAC8B,OAAb,CAAqBG,YAArB,EAAmCC,cAAnC,CAAP;MACD,CAXM,CAAP;IAYD,CAbD,CAaE,OAAOC,CAAP,EAAU;MACV,OAAOA,CAAP;IACD;EACF,CA7G0B;EA8G3B4B,WAAW,EAAE,MAAON,IAAP,IAA+B;IAC1C,IAAI;MACF,IAAI,CAACC,KAAK,CAACC,OAAN,CAAcF,IAAd,CAAL,EAA0B,OAAOA,IAAP;MAC1B,MAAMV,aAAa,GAAG,MAAM3B,OAAO,CAAC4B,GAAR,CAC1BS,IAAI,CAACR,GAAL,CACE,MAAOC,IAAP,IAAyC,MAAMlC,OAAO,CAACkC,IAAD,EAAO,KAAP,CADxD,CAD0B,CAA5B;MAKA,OAAOlD,YAAY,CAAC+D,WAAb,CAAyBhB,aAAzB,CAAP;IACD,CARD,CAQE,OAAOZ,CAAP,EAAU;MACV,OAAOA,CAAP;IACD;EACF,CA1H0B;EA2H3B6B,KAAK,EAAE,YAAY;IACjB,IAAI;MACF,OAAOhE,YAAY,CAACgE,KAAb,EAAP;IACD,CAFD,CAEE,OAAO7B,CAAP,EAAU;MACV,OAAOA,CAAP;IACD;EACF;AAjI0B,CAAtB;AAoIP,OAAO,SAAS8B,qBAAT,GAAmD;EACxD,OAAO1D,aAAa,CAAC0D,qBAAd,EAAP;AACD;AAED,eAAe1D,aAAf"}
|
|
1
|
+
{"version":3,"names":["NativeModules","Platform","AsyncStorage","_","isJsonString","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","deviceHasSecurityRisk"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,UAAW,MAAM,KAAG,OAO5C,CAAC"}
|
|
@@ -12,7 +12,7 @@ export declare const SecureStorage: {
|
|
|
12
12
|
mergeItem: (key: string, value: string) => Promise<unknown>;
|
|
13
13
|
removeItem: (key: string) => Promise<unknown>;
|
|
14
14
|
getAllKeys: () => Promise<unknown>;
|
|
15
|
-
multiSet: (keyValuePairs: Array<Array<string>>) => Promise<
|
|
15
|
+
multiSet: (keyValuePairs: Array<Array<string>>) => Promise<void | string[][]>;
|
|
16
16
|
multiGet: (keys: Array<string>) => Promise<unknown>;
|
|
17
17
|
multiMerge: (keyValuePairs: Array<Array<string>>) => Promise<unknown>;
|
|
18
18
|
multiRemove: (keys: Array<string>) => Promise<unknown>;
|
|
@@ -20,3 +20,4 @@ export declare const SecureStorage: {
|
|
|
20
20
|
};
|
|
21
21
|
export declare function deviceHasSecurityRisk(): Promise<boolean>;
|
|
22
22
|
export default SecuritySuite;
|
|
23
|
+
//# sourceMappingURL=index.d.ts.map
|