@umutcansu/react-native-pinvault 2.3.2 → 2.4.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/CHANGELOG.md +29 -0
- package/README.md +65 -14
- package/RNPinVault.podspec +1 -1
- package/android/build.gradle +1 -1
- package/android/src/main/java/io/github/umutcansu/pinvault/reactnative/ConfigParser.kt +120 -24
- package/android/src/main/java/io/github/umutcansu/pinvault/reactnative/NativeSecurity.kt +120 -5
- package/android/src/main/java/io/github/umutcansu/pinvault/reactnative/PinVaultModule.kt +12 -3
- package/android/src/main/java/io/github/umutcansu/pinvault/reactnative/PinVaultNetworking.kt +91 -8
- package/ios/Core/ConfigParser.swift +188 -27
- package/ios/Core/NativeSecurity.swift +112 -6
- package/ios/PinVaultBridge.swift +16 -4
- package/lib/module/index.js +21 -2
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/types.d.ts +14 -1
- package/lib/typescript/src/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +15 -2
- package/src/types.ts +14 -3
|
@@ -7,13 +7,30 @@
|
|
|
7
7
|
// { "configApis": [{ "id", "bootstrapPins", "signaturePublicKeys", "requiredSignatures",
|
|
8
8
|
// "recoveryPublicKeys", "requiredRecoverySignatures", "serverScope",
|
|
9
9
|
// "clientCaPins", "allowUnsigned", "allowUnpinnedConfigApi",
|
|
10
|
-
// "allowServerGeneratedKey"
|
|
11
|
-
//
|
|
10
|
+
// "allowServerGeneratedKey", "url", "attestation", "tokenHosts", "proofOfPossession",
|
|
11
|
+
// "clientCertHosts",
|
|
12
|
+
// "enrollmentUrl", "renewalUrl" }],
|
|
13
|
+
// "staticPins": { "pins": [...], "version": 1 },
|
|
14
|
+
// "require": { "requireUnlockedDevice", "requireHardwareBackedKeys", "managedTrustRoots",
|
|
15
|
+
// "wipeVaultFilesOnRevocation", "requireCaTrust", "expectedBundleIds",
|
|
16
|
+
// "expectedTeamIds", "userAuthStrength", "expiredConfigGraceSeconds",
|
|
17
|
+
// "vaultFileMaxOfflineAgeSeconds", "expectedSignerSha256" (Android's, read for the shape) },
|
|
18
|
+
// "vaultFiles": [{ "key", "signaturePublicKey", "encryption", "userAuth", "maxOfflineAgeSeconds" }] }
|
|
12
19
|
//
|
|
13
20
|
// When the file is there: every JS Config API (and JS `staticPins`) must be
|
|
14
21
|
// declared in it; a declared field is the value (JS may omit or repeat it, a
|
|
15
|
-
// different value is refused); the three relaxations need the file's consent
|
|
16
|
-
//
|
|
22
|
+
// different value is refused); the three relaxations need the file's consent;
|
|
23
|
+
// `attestation: true` and `proofOfPossession: true` cannot be switched off; `require` only tightens (its
|
|
24
|
+
// protections stay on, its `requireCaTrust` hosts are added to JS's, its
|
|
25
|
+
// expected ids are fixed, its grace is the most JS may ask for); `vaultFiles`
|
|
26
|
+
// fixes those files' signature key, encryption and lock, and a JS vault file
|
|
27
|
+
// it does not name is refused.
|
|
28
|
+
//
|
|
29
|
+
// Without it, a release build refuses a config with Config APIs or static
|
|
30
|
+
// pins — the trust anchors would come from JS alone — unless the app's
|
|
31
|
+
// Info.plist says `PinVaultAllowNoNativeSecurityFile` = YES; the three
|
|
32
|
+
// relaxations stay refused from JS then. A release build caps
|
|
33
|
+
// `expiredConfigGrace` at 7 days whatever the file says.
|
|
17
34
|
import Foundation
|
|
18
35
|
import PinVault
|
|
19
36
|
|
|
@@ -32,12 +49,59 @@ public struct NativeSecurity {
|
|
|
32
49
|
let allowUnsigned: Bool
|
|
33
50
|
let allowUnpinnedConfigApi: Bool
|
|
34
51
|
let allowServerGeneratedKey: Bool
|
|
52
|
+
var url: String? = nil
|
|
53
|
+
var attestation = false
|
|
54
|
+
var tokenHosts: [String]? = nil
|
|
55
|
+
var proofOfPossession = false
|
|
56
|
+
var clientCertHosts: [String]? = nil
|
|
57
|
+
var enrollmentUrl: String? = nil
|
|
58
|
+
var renewalUrl: String? = nil
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/// The `require` section: protections JS cannot switch off.
|
|
62
|
+
public struct Require {
|
|
63
|
+
var requireUnlockedDevice = false
|
|
64
|
+
var requireHardwareBackedKeys = false
|
|
65
|
+
var managedTrustRoots = false
|
|
66
|
+
var wipeVaultFilesOnRevocation = false
|
|
67
|
+
var requireCaTrust: [String]? = nil
|
|
68
|
+
var expectedBundleIds: [String]? = nil
|
|
69
|
+
var expectedTeamIds: [String]? = nil
|
|
70
|
+
/// The most `expiredConfigGrace` JS may set; nil = only the release cap.
|
|
71
|
+
var expiredConfigGraceMs: Int64? = nil
|
|
72
|
+
/// The most `vaultFileMaxOfflineAge` JS may set (and the value when JS sets none).
|
|
73
|
+
var vaultFileMaxOfflineAgeMs: Int64? = nil
|
|
74
|
+
/// `ios.userAuthStrength`, fixed.
|
|
75
|
+
var userAuthStrength: UserAuthStrength? = nil
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/// One `vaultFiles` entry: what JS cannot change about that file.
|
|
79
|
+
struct VaultFilePolicy {
|
|
80
|
+
let signaturePublicKey: String?
|
|
81
|
+
let encryption: VaultFileEncryption?
|
|
82
|
+
let userAuth: UserAuth?
|
|
83
|
+
/// The most `maxOfflineAge` JS may give this file (and the value when JS gives none).
|
|
84
|
+
var maxOfflineAgeMs: Int64? = nil
|
|
35
85
|
}
|
|
36
86
|
|
|
87
|
+
/// The Info.plist key with which an app accepts a release start without the file.
|
|
88
|
+
public static let noFileInfoKey = "PinVaultAllowNoNativeSecurityFile"
|
|
89
|
+
/// The longest `expiredConfigGrace` a release build takes.
|
|
90
|
+
public static let maxReleaseGraceMs: Int64 = 7 * 24 * 3600 * 1000
|
|
91
|
+
static let maxOfflineAgeS: Int64 = 10 * 365 * 24 * 3600
|
|
92
|
+
|
|
37
93
|
/// Where the file came from, for messages.
|
|
38
94
|
public let source: String
|
|
39
95
|
let blocks: [String: Block]
|
|
40
96
|
let staticPins: CertificateConfig?
|
|
97
|
+
var require = Require()
|
|
98
|
+
/// Nil when the file has no `vaultFiles` section.
|
|
99
|
+
var vaultFiles: [String: VaultFilePolicy]? = nil
|
|
100
|
+
|
|
101
|
+
/// True when the app's Info.plist accepts a release start without the file.
|
|
102
|
+
public static func noFileAllowed(_ bundle: Bundle = .main) -> Bool {
|
|
103
|
+
(bundle.object(forInfoDictionaryKey: noFileInfoKey) as? Bool) == true
|
|
104
|
+
}
|
|
41
105
|
|
|
42
106
|
/// The file from `bundle`; nil when the app ships none. A broken file throws `BridgeInputError`.
|
|
43
107
|
public static func load(from bundle: Bundle = .main) throws -> NativeSecurity? {
|
|
@@ -69,16 +133,58 @@ public struct NativeSecurity {
|
|
|
69
133
|
clientCaPins: try b.stringList("clientCaPins", maxItems: 16, maxLength: 128),
|
|
70
134
|
allowUnsigned: try b.bool("allowUnsigned") == true,
|
|
71
135
|
allowUnpinnedConfigApi: try b.bool("allowUnpinnedConfigApi") == true,
|
|
72
|
-
allowServerGeneratedKey: try b.bool("allowServerGeneratedKey") == true
|
|
136
|
+
allowServerGeneratedKey: try b.bool("allowServerGeneratedKey") == true,
|
|
137
|
+
url: try ConfigParser.httpsUrl(b, "url"),
|
|
138
|
+
attestation: try b.bool("attestation") == true,
|
|
139
|
+
tokenHosts: try b.stringList("tokenHosts", maxItems: 64, maxLength: 255),
|
|
140
|
+
proofOfPossession: try b.bool("proofOfPossession") == true,
|
|
141
|
+
clientCertHosts: try b.stringList("clientCertHosts", maxItems: 64, maxLength: 2048),
|
|
142
|
+
enrollmentUrl: try ConfigParser.httpsUrl(b, "enrollmentUrl"),
|
|
143
|
+
renewalUrl: try ConfigParser.httpsUrl(b, "renewalUrl")
|
|
73
144
|
)
|
|
74
145
|
try b.finish()
|
|
75
146
|
}
|
|
76
147
|
let staticPins = try root.object("staticPins").map(ConfigParser.staticPins)
|
|
148
|
+
var require = Require()
|
|
149
|
+
if let r = try root.object("require") {
|
|
150
|
+
require.requireUnlockedDevice = try r.bool("requireUnlockedDevice") == true
|
|
151
|
+
require.requireHardwareBackedKeys = try r.bool("requireHardwareBackedKeys") == true
|
|
152
|
+
require.managedTrustRoots = try r.bool("managedTrustRoots") == true
|
|
153
|
+
require.wipeVaultFilesOnRevocation = try r.bool("wipeVaultFilesOnRevocation") == true
|
|
154
|
+
require.requireCaTrust = try r.stringList("requireCaTrust", maxItems: 64, maxLength: 255)
|
|
155
|
+
require.expectedBundleIds = try r.stringList("expectedBundleIds", maxItems: 16, maxLength: 255)
|
|
156
|
+
require.expectedTeamIds = try r.stringList("expectedTeamIds", maxItems: 16, maxLength: 32)
|
|
157
|
+
require.expiredConfigGraceMs = try r.int64("expiredConfigGraceSeconds", min: 0, max: maxReleaseGraceMs / 1000).map { $0 * 1000 }
|
|
158
|
+
require.vaultFileMaxOfflineAgeMs = try r.int64("vaultFileMaxOfflineAgeSeconds", min: 1, max: maxOfflineAgeS).map { $0 * 1000 }
|
|
159
|
+
require.userAuthStrength = try r.enumValue("userAuthStrength", UserAuthStrength.self)
|
|
160
|
+
// Android-only (signer digests): read for the shape, used by the Android side.
|
|
161
|
+
_ = try r.stringList("expectedSignerSha256", maxItems: 16, maxLength: 128)
|
|
162
|
+
try r.finish()
|
|
163
|
+
}
|
|
164
|
+
var vaultFiles: [String: VaultFilePolicy]?
|
|
165
|
+
if let list = try root.objectList("vaultFiles", maxItems: ConfigParser.maxVaultFiles) {
|
|
166
|
+
var map: [String: VaultFilePolicy] = [:]
|
|
167
|
+
for f in list {
|
|
168
|
+
let key = try f.requireString("key", maxLength: 128)
|
|
169
|
+
if map[key] != nil { throw BridgeInputError("\(f.path).key: '\(key)' is declared twice") }
|
|
170
|
+
map[key] = VaultFilePolicy(
|
|
171
|
+
signaturePublicKey: try f.string("signaturePublicKey", maxLength: ConfigParser.keyLength, multiline: true),
|
|
172
|
+
encryption: try f.enumValue("encryption", VaultFileEncryption.self),
|
|
173
|
+
userAuth: try f.enumValue("userAuth", UserAuth.self),
|
|
174
|
+
maxOfflineAgeMs: try f.int64("maxOfflineAgeSeconds", min: 1, max: maxOfflineAgeS).map { $0 * 1000 }
|
|
175
|
+
)
|
|
176
|
+
try f.finish()
|
|
177
|
+
}
|
|
178
|
+
vaultFiles = map
|
|
179
|
+
}
|
|
77
180
|
try root.finish()
|
|
78
181
|
if blocks.isEmpty && staticPins == nil {
|
|
79
182
|
throw BridgeInputError("\(source): declares neither configApis nor staticPins")
|
|
80
183
|
}
|
|
81
|
-
|
|
184
|
+
var native = NativeSecurity(source: source, blocks: blocks, staticPins: staticPins)
|
|
185
|
+
native.require = require
|
|
186
|
+
native.vaultFiles = vaultFiles
|
|
187
|
+
return native
|
|
82
188
|
} catch let e as BridgeInputError {
|
|
83
189
|
throw e.message.hasPrefix("native security file") ? e : BridgeInputError("native security file \(e.message)")
|
|
84
190
|
} catch {
|
package/ios/PinVaultBridge.swift
CHANGED
|
@@ -92,8 +92,15 @@ public final class PinVaultBridge: NSObject {
|
|
|
92
92
|
return ["exceptionName": mapped["name"] ?? "Error", "exceptionMessage": mapped["message"] ?? NSNull()]
|
|
93
93
|
}
|
|
94
94
|
|
|
95
|
+
/// A vault file key: the library's rule (it names the stored copy's file).
|
|
95
96
|
private static func checkKey(_ key: String) throws {
|
|
96
|
-
|
|
97
|
+
let allowed = key.utf8.allSatisfy { byte in
|
|
98
|
+
(byte >= 0x30 && byte <= 0x39) || (byte >= 0x41 && byte <= 0x5A) || (byte >= 0x61 && byte <= 0x7A) ||
|
|
99
|
+
byte == 0x2E || byte == 0x5F || byte == 0x2D
|
|
100
|
+
}
|
|
101
|
+
if key.isEmpty || key.utf8.count > 64 || !allowed || key.allSatisfy({ $0 == "." }) {
|
|
102
|
+
throw BridgeInputError("key: must match [A-Za-z0-9._-]{1,64} and not be only dots")
|
|
103
|
+
}
|
|
97
104
|
}
|
|
98
105
|
|
|
99
106
|
private static func checkToken(_ token: String?) throws {
|
|
@@ -129,7 +136,9 @@ public final class PinVaultBridge: NSObject {
|
|
|
129
136
|
bridge.emitConnectionEvent?(bridge.mapper.event(event))
|
|
130
137
|
},
|
|
131
138
|
native: try NativeSecurity.load(),
|
|
132
|
-
release: release
|
|
139
|
+
release: release,
|
|
140
|
+
noFileAllowed: NativeSecurity.noFileAllowed(),
|
|
141
|
+
reactNetworkingEnabled: PinVaultReactNetworking.enabled
|
|
133
142
|
)
|
|
134
143
|
} catch let e as BridgeInputError {
|
|
135
144
|
// The guard of the running config stays: a refused config changes nothing.
|
|
@@ -162,7 +171,10 @@ public final class PinVaultBridge: NSObject {
|
|
|
162
171
|
// INIT, and ENROLL for a pending enrollment the start picks up.
|
|
163
172
|
let result = await Self.guarded([.start, .enroll]) { await PinVault.shared.start(config: parsed.config) }
|
|
164
173
|
Self.locked { Self.startedInProcess = true }
|
|
165
|
-
|
|
174
|
+
// Says whether the anchors came from the native security file (README "Native security file").
|
|
175
|
+
var answer = self.mapper.initResult(result)
|
|
176
|
+
answer["nativeSecurityApplied"] = parsed.nativeSecurityApplied
|
|
177
|
+
resolve(answer)
|
|
166
178
|
}
|
|
167
179
|
}
|
|
168
180
|
}
|
|
@@ -335,7 +347,7 @@ public final class PinVaultBridge: NSObject {
|
|
|
335
347
|
run(resolve, reject) {
|
|
336
348
|
try Self.checkKey(key)
|
|
337
349
|
let enc = try ResultMapper.checkEncoding(encoding)
|
|
338
|
-
return PinVault.shared.loadFile(key).map { ResultMapper.encode($0, enc) }
|
|
350
|
+
return await Self.guarded([.loadFile]) { PinVault.shared.loadFile(key) }.map { ResultMapper.encode($0, enc) }
|
|
339
351
|
}
|
|
340
352
|
}
|
|
341
353
|
|
package/lib/module/index.js
CHANGED
|
@@ -110,7 +110,13 @@ export async function evaluateGuard(guard, operation, timeoutMs) {
|
|
|
110
110
|
if (timer !== undefined) clearTimeout(timer);
|
|
111
111
|
}
|
|
112
112
|
}
|
|
113
|
-
const GUARDED_OPERATIONS = new Set(['INIT', 'ENROLL', 'FETCH_FILE', 'UNLOCK_FILE']);
|
|
113
|
+
const GUARDED_OPERATIONS = new Set(['INIT', 'ENROLL', 'FETCH_FILE', 'UNLOCK_FILE', 'LOAD_FILE']);
|
|
114
|
+
|
|
115
|
+
/** The guard of the running config, put back when a new config is refused. */
|
|
116
|
+
let activeGuard = {
|
|
117
|
+
guard: undefined,
|
|
118
|
+
timeoutMs: DEFAULT_GUARD_TIMEOUT_MS
|
|
119
|
+
};
|
|
114
120
|
function installGuard(guard, timeoutMs) {
|
|
115
121
|
guardSubscription?.remove();
|
|
116
122
|
guardSubscription = null;
|
|
@@ -157,8 +163,21 @@ export async function start(config) {
|
|
|
157
163
|
timeoutMs
|
|
158
164
|
};
|
|
159
165
|
const json = strictJson(nativeConfig, 'config', 'E_INVALID_CONFIG');
|
|
166
|
+
// The new guard answers during start (INIT is asked then). A config the
|
|
167
|
+
// native side refuses changes nothing, so the running config's guard comes back.
|
|
168
|
+
const previous = activeGuard;
|
|
160
169
|
installGuard(environmentGuard, timeoutMs);
|
|
161
|
-
|
|
170
|
+
try {
|
|
171
|
+
const result = await call(NativePinVault.start(json));
|
|
172
|
+
activeGuard = {
|
|
173
|
+
guard: environmentGuard,
|
|
174
|
+
timeoutMs
|
|
175
|
+
};
|
|
176
|
+
return result;
|
|
177
|
+
} catch (error) {
|
|
178
|
+
installGuard(previous.guard, previous.timeoutMs);
|
|
179
|
+
throw error;
|
|
180
|
+
}
|
|
162
181
|
}
|
|
163
182
|
export const updateNow = () => call(NativePinVault.updateNow());
|
|
164
183
|
export const currentVersion = () => call(NativePinVault.currentVersion());
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativePinVault","PinVaultError","Error","constructor","code","message","exception","name","KNOWN_CODES","Set","toPinVaultError","error","e","has","info","userInfo","exceptionName","exceptionMessage","call","promise","MAX_DEPTH","assertPlainData","value","path","depth","Number","isFinite","Array","isArray","forEach","item","i","undefined","proto","Object","getPrototypeOf","prototype","k","v","entries","strictJson","JSON","stringify","DEFAULT_GUARD_TIMEOUT_MS","guardSubscription","evaluateGuard","guard","operation","timeoutMs","timer","verdict","Promise","race","resolve","then","setTimeout","__DEV__","console","warn","clearTimeout","GUARDED_OPERATIONS","installGuard","remove","jsTimeout","Math","max","onGuardRequest","request","answerGuard","requestId","allowed","start","config","environmentGuard","environmentGuardTimeoutMs","rest","isInteger","nativeConfig","json","updateNow","currentVersion","hostPinVersions","pinsForHost","hostname","result","pins","signingStatus","configApiId","isForceUpdate","reset","schedulePeriodicUpdates","intervalHours","cancelPeriodicUpdates","enableDebugLogging","fetch","url","init","response","ok","status","deviceId","enrollForResult","token","label","autoEnrollForResult","checkPendingEnrollment","isEnrolled","isEnrollmentPending","enrollmentVerificationCode","enrolledClientCN","enrolledClientNotAfter","unenroll","options","wipeVaultFiles","identityKeySecurityLevel","setVaultToken","key","clearVaultTokens","fetchFile","loadFile","encoding","fileStatus","unlockFile","prompt","isFileLocked","hasFile","fileVersion","clearFile","syncAllFiles","attestNow","fetchAttestationToken","host","attestationStatus","attestationHeaderName","addConnectionListener","listener","onConnectionEvent","event","PinVault"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["NativePinVault","PinVaultError","Error","constructor","code","message","exception","name","KNOWN_CODES","Set","toPinVaultError","error","e","has","info","userInfo","exceptionName","exceptionMessage","call","promise","MAX_DEPTH","assertPlainData","value","path","depth","Number","isFinite","Array","isArray","forEach","item","i","undefined","proto","Object","getPrototypeOf","prototype","k","v","entries","strictJson","JSON","stringify","DEFAULT_GUARD_TIMEOUT_MS","guardSubscription","evaluateGuard","guard","operation","timeoutMs","timer","verdict","Promise","race","resolve","then","setTimeout","__DEV__","console","warn","clearTimeout","GUARDED_OPERATIONS","activeGuard","installGuard","remove","jsTimeout","Math","max","onGuardRequest","request","answerGuard","requestId","allowed","start","config","environmentGuard","environmentGuardTimeoutMs","rest","isInteger","nativeConfig","json","previous","result","updateNow","currentVersion","hostPinVersions","pinsForHost","hostname","pins","signingStatus","configApiId","isForceUpdate","reset","schedulePeriodicUpdates","intervalHours","cancelPeriodicUpdates","enableDebugLogging","fetch","url","init","response","ok","status","deviceId","enrollForResult","token","label","autoEnrollForResult","checkPendingEnrollment","isEnrolled","isEnrollmentPending","enrollmentVerificationCode","enrolledClientCN","enrolledClientNotAfter","unenroll","options","wipeVaultFiles","identityKeySecurityLevel","setVaultToken","key","clearVaultTokens","fetchFile","loadFile","encoding","fileStatus","unlockFile","prompt","isFileLocked","hasFile","fileVersion","clearFile","syncAllFiles","attestNow","fetchAttestationToken","host","attestationStatus","attestationHeaderName","addConnectionListener","listener","onConnectionEvent","event","PinVault"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,iBAAiB,EACjB,sBAAsB,EACtB,0BAA0B,EAC1B,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,uBAAuB,EACvB,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,YAAS,CAAC;AAEjB,cAAc,YAAS,CAAC;AAExB,wCAAwC;AACxC,MAAM,MAAM,iBAAiB;AAC3B,2FAA2F;AACzF,kBAAkB,GAClB,oBAAoB;AACtB,+CAA+C;GAC7C,eAAe;AACjB,kFAAkF;GAChF,SAAS,GACT,eAAe,GACf,UAAU;AACZ,yFAAyF;GACvF,yBAAyB,CAAC;AAE9B,4FAA4F;AAC5F,qBAAa,aAAc,SAAQ,KAAK;IACtC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;gBAExD,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,GAAE,aAAa,CAAC,WAAW,CAAQ;CAMnG;AAqFD,eAAO,MAAM,wBAAwB,OAAO,CAAC;AAI7C;;;GAGG;AACH,wBAAsB,aAAa,CACjC,KAAK,EAAE,gBAAgB,EACvB,SAAS,EAAE,gBAAgB,EAC3B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,OAAO,CAAC,CAgBlB;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,6 +45,13 @@ export type ConfigApiBlock = {
|
|
|
45
45
|
attestation?: boolean;
|
|
46
46
|
attestationInterval?: Duration;
|
|
47
47
|
tokenHosts?: string[];
|
|
48
|
+
/**
|
|
49
|
+
* Every request that carries the `PinVault-Token` also carries a
|
|
50
|
+
* `PinVault-Proof` signed by the device key (ATTESTATION.md §5.1). Needs
|
|
51
|
+
* `attestation`. The proof is made natively, so a token handed to JS
|
|
52
|
+
* (`fetchAttestationToken`) cannot be proven from JS: use `PinVault.fetch`.
|
|
53
|
+
*/
|
|
54
|
+
proofOfPossession?: boolean;
|
|
48
55
|
};
|
|
49
56
|
export type StorageStrategy = 'ENCRYPTED_PREFS' | 'ENCRYPTED_FILE';
|
|
50
57
|
export type VaultFileAccessPolicy = 'PUBLIC' | 'API_KEY' | 'TOKEN' | 'TOKEN_MTLS';
|
|
@@ -70,7 +77,7 @@ export type VaultFileConfig = {
|
|
|
70
77
|
wipeWhenStale?: boolean;
|
|
71
78
|
};
|
|
72
79
|
/** Operations the environment guard is asked about (`GuardedOperation`). */
|
|
73
|
-
export type GuardedOperation = 'INIT' | 'ENROLL' | 'FETCH_FILE' | 'UNLOCK_FILE';
|
|
80
|
+
export type GuardedOperation = 'INIT' | 'ENROLL' | 'FETCH_FILE' | 'UNLOCK_FILE' | 'LOAD_FILE';
|
|
74
81
|
/**
|
|
75
82
|
* The app's device verdict (root / jailbreak / hooking detection of your choice)
|
|
76
83
|
* before every guarded operation. Runs in JS, so code that hooks the JS runtime
|
|
@@ -142,13 +149,19 @@ export type NativeException = {
|
|
|
142
149
|
name: string;
|
|
143
150
|
message: string | null;
|
|
144
151
|
};
|
|
152
|
+
/**
|
|
153
|
+
* `nativeSecurityApplied`: the trust anchors came from the app's native
|
|
154
|
+
* security file (README "Native security file"); false when JS supplied them.
|
|
155
|
+
*/
|
|
145
156
|
export type InitResult = {
|
|
146
157
|
type: 'ready';
|
|
147
158
|
version: number;
|
|
159
|
+
nativeSecurityApplied: boolean;
|
|
148
160
|
} | {
|
|
149
161
|
type: 'failed';
|
|
150
162
|
reason: string;
|
|
151
163
|
exception: NativeException | null;
|
|
164
|
+
nativeSecurityApplied: boolean;
|
|
152
165
|
};
|
|
153
166
|
export type UpdateResult = {
|
|
154
167
|
type: 'updated';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,QAAQ,GAAG,cAAc,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AAEjF,qGAAqG;AACrG,MAAM,MAAM,QAAQ,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC;AAE1D,4GAA4G;AAC5G,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,kGAAkG;AAClG,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oFAAoF;IACpF,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,mBAAmB,CAAC,EAAE,QAAQ,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@umutcansu/react-native-pinvault",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.4.0",
|
|
4
4
|
"description": "PinVault for React Native: dynamic certificate pinning with signed remote configs, mTLS enrollment and signed vault files, as a thin bridge over the native PinVault libraries",
|
|
5
5
|
"main": "./lib/module/index.js",
|
|
6
6
|
"types": "./lib/typescript/src/index.d.ts",
|
package/src/index.ts
CHANGED
|
@@ -167,7 +167,10 @@ export async function evaluateGuard(
|
|
|
167
167
|
}
|
|
168
168
|
}
|
|
169
169
|
|
|
170
|
-
const GUARDED_OPERATIONS: ReadonlySet<string> = new Set(['INIT', 'ENROLL', 'FETCH_FILE', 'UNLOCK_FILE']);
|
|
170
|
+
const GUARDED_OPERATIONS: ReadonlySet<string> = new Set(['INIT', 'ENROLL', 'FETCH_FILE', 'UNLOCK_FILE', 'LOAD_FILE']);
|
|
171
|
+
|
|
172
|
+
/** The guard of the running config, put back when a new config is refused. */
|
|
173
|
+
let activeGuard: { guard: EnvironmentGuard | undefined; timeoutMs: number } = { guard: undefined, timeoutMs: DEFAULT_GUARD_TIMEOUT_MS };
|
|
171
174
|
|
|
172
175
|
function installGuard(guard: EnvironmentGuard | undefined, timeoutMs: number): void {
|
|
173
176
|
guardSubscription?.remove();
|
|
@@ -214,8 +217,18 @@ export async function start(config: PinVaultConfig): Promise<InitResult> {
|
|
|
214
217
|
const nativeConfig: Record<string, unknown> = { ...rest };
|
|
215
218
|
if (environmentGuard) nativeConfig.environmentGuard = { timeoutMs };
|
|
216
219
|
const json = strictJson(nativeConfig, 'config', 'E_INVALID_CONFIG');
|
|
220
|
+
// The new guard answers during start (INIT is asked then). A config the
|
|
221
|
+
// native side refuses changes nothing, so the running config's guard comes back.
|
|
222
|
+
const previous = activeGuard;
|
|
217
223
|
installGuard(environmentGuard, timeoutMs);
|
|
218
|
-
|
|
224
|
+
try {
|
|
225
|
+
const result = await call<InitResult>(NativePinVault.start(json));
|
|
226
|
+
activeGuard = { guard: environmentGuard, timeoutMs };
|
|
227
|
+
return result;
|
|
228
|
+
} catch (error) {
|
|
229
|
+
installGuard(previous.guard, previous.timeoutMs);
|
|
230
|
+
throw error;
|
|
231
|
+
}
|
|
219
232
|
}
|
|
220
233
|
|
|
221
234
|
export const updateNow = (): Promise<UpdateResult> => call(NativePinVault.updateNow());
|
package/src/types.ts
CHANGED
|
@@ -52,6 +52,13 @@ export type ConfigApiBlock = {
|
|
|
52
52
|
attestation?: boolean;
|
|
53
53
|
attestationInterval?: Duration;
|
|
54
54
|
tokenHosts?: string[];
|
|
55
|
+
/**
|
|
56
|
+
* Every request that carries the `PinVault-Token` also carries a
|
|
57
|
+
* `PinVault-Proof` signed by the device key (ATTESTATION.md §5.1). Needs
|
|
58
|
+
* `attestation`. The proof is made natively, so a token handed to JS
|
|
59
|
+
* (`fetchAttestationToken`) cannot be proven from JS: use `PinVault.fetch`.
|
|
60
|
+
*/
|
|
61
|
+
proofOfPossession?: boolean;
|
|
55
62
|
};
|
|
56
63
|
|
|
57
64
|
export type StorageStrategy = 'ENCRYPTED_PREFS' | 'ENCRYPTED_FILE';
|
|
@@ -80,7 +87,7 @@ export type VaultFileConfig = {
|
|
|
80
87
|
};
|
|
81
88
|
|
|
82
89
|
/** Operations the environment guard is asked about (`GuardedOperation`). */
|
|
83
|
-
export type GuardedOperation = 'INIT' | 'ENROLL' | 'FETCH_FILE' | 'UNLOCK_FILE';
|
|
90
|
+
export type GuardedOperation = 'INIT' | 'ENROLL' | 'FETCH_FILE' | 'UNLOCK_FILE' | 'LOAD_FILE';
|
|
84
91
|
|
|
85
92
|
/**
|
|
86
93
|
* The app's device verdict (root / jailbreak / hooking detection of your choice)
|
|
@@ -151,9 +158,13 @@ export type PinVaultConfig = {
|
|
|
151
158
|
/** A native exception: its class name (`SSLPinningException`, …) and message. */
|
|
152
159
|
export type NativeException = { name: string; message: string | null };
|
|
153
160
|
|
|
161
|
+
/**
|
|
162
|
+
* `nativeSecurityApplied`: the trust anchors came from the app's native
|
|
163
|
+
* security file (README "Native security file"); false when JS supplied them.
|
|
164
|
+
*/
|
|
154
165
|
export type InitResult =
|
|
155
|
-
| { type: 'ready'; version: number }
|
|
156
|
-
| { type: 'failed'; reason: string; exception: NativeException | null };
|
|
166
|
+
| { type: 'ready'; version: number; nativeSecurityApplied: boolean }
|
|
167
|
+
| { type: 'failed'; reason: string; exception: NativeException | null; nativeSecurityApplied: boolean };
|
|
157
168
|
|
|
158
169
|
export type UpdateResult =
|
|
159
170
|
| { type: 'updated'; newVersion: number }
|