@openwallet-foundation/askar-react-native 0.2.5
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 +191 -0
- package/README.md +38 -0
- package/android/CMakeLists.txt +60 -0
- package/android/build.gradle +261 -0
- package/android/cpp-adapter.cpp +36 -0
- package/android/src/main/AndroidManifest.xml +3 -0
- package/android/src/main/java/foundation/openwallet/askar/AskarModule.java +51 -0
- package/android/src/main/java/foundation/openwallet/askar/AskarPackage.java +23 -0
- package/android/src/main/java/id/animo/SecureEnvironment.java +5 -0
- package/askar.podspec +31 -0
- package/build/askar-react-native/src/NativeBindings.d.ts +144 -0
- package/build/askar-react-native/src/NativeBindings.js +3 -0
- package/build/askar-react-native/src/NativeBindings.js.map +1 -0
- package/build/askar-react-native/src/ReactNativeAskar.d.ts +100 -0
- package/build/askar-react-native/src/ReactNativeAskar.js +482 -0
- package/build/askar-react-native/src/ReactNativeAskar.js.map +1 -0
- package/build/askar-react-native/src/index.d.ts +1 -0
- package/build/askar-react-native/src/index.js +31 -0
- package/build/askar-react-native/src/index.js.map +1 -0
- package/build/askar-react-native/src/serialize.d.ts +14 -0
- package/build/askar-react-native/src/serialize.js +50 -0
- package/build/askar-react-native/src/serialize.js.map +1 -0
- package/build/askar-react-native/src/specs/NativeAskar.d.ts +5 -0
- package/build/askar-react-native/src/specs/NativeAskar.js +7 -0
- package/build/askar-react-native/src/specs/NativeAskar.js.map +1 -0
- package/build/askar-shared/src/askar/Askar.d.ts +437 -0
- package/build/askar-shared/src/askar/Askar.js +3 -0
- package/build/askar-shared/src/askar/Askar.js.map +1 -0
- package/build/askar-shared/src/askar/index.d.ts +2 -0
- package/build/askar-shared/src/askar/index.js +19 -0
- package/build/askar-shared/src/askar/index.js.map +1 -0
- package/build/askar-shared/src/askar/register.d.ts +5 -0
- package/build/askar-shared/src/askar/register.js +8 -0
- package/build/askar-shared/src/askar/register.js.map +1 -0
- package/build/askar-shared/src/crypto/AeadParams.d.ts +9 -0
- package/build/askar-shared/src/crypto/AeadParams.js +11 -0
- package/build/askar-shared/src/crypto/AeadParams.js.map +1 -0
- package/build/askar-shared/src/crypto/CryptoBox.d.ts +24 -0
- package/build/askar-shared/src/crypto/CryptoBox.js +23 -0
- package/build/askar-shared/src/crypto/CryptoBox.js.map +1 -0
- package/build/askar-shared/src/crypto/Ecdh1PU.d.ts +58 -0
- package/build/askar-shared/src/crypto/Ecdh1PU.js +77 -0
- package/build/askar-shared/src/crypto/Ecdh1PU.js.map +1 -0
- package/build/askar-shared/src/crypto/EcdhEs.d.ts +46 -0
- package/build/askar-shared/src/crypto/EcdhEs.js +64 -0
- package/build/askar-shared/src/crypto/EcdhEs.js.map +1 -0
- package/build/askar-shared/src/crypto/EncryptedBuffer.d.ts +20 -0
- package/build/askar-shared/src/crypto/EncryptedBuffer.js +36 -0
- package/build/askar-shared/src/crypto/EncryptedBuffer.js.map +1 -0
- package/build/askar-shared/src/crypto/Jwk.d.ts +18 -0
- package/build/askar-shared/src/crypto/Jwk.js +24 -0
- package/build/askar-shared/src/crypto/Jwk.js.map +1 -0
- package/build/askar-shared/src/crypto/Key.d.ts +73 -0
- package/build/askar-shared/src/crypto/Key.js +101 -0
- package/build/askar-shared/src/crypto/Key.js.map +1 -0
- package/build/askar-shared/src/crypto/handles.d.ts +46 -0
- package/build/askar-shared/src/crypto/handles.js +123 -0
- package/build/askar-shared/src/crypto/handles.js.map +1 -0
- package/build/askar-shared/src/crypto/index.d.ts +8 -0
- package/build/askar-shared/src/crypto/index.js +25 -0
- package/build/askar-shared/src/crypto/index.js.map +1 -0
- package/build/askar-shared/src/enums/EntryOperation.d.ts +5 -0
- package/build/askar-shared/src/enums/EntryOperation.js +10 -0
- package/build/askar-shared/src/enums/EntryOperation.js.map +1 -0
- package/build/askar-shared/src/enums/KeyAlgorithm.d.ts +20 -0
- package/build/askar-shared/src/enums/KeyAlgorithm.js +38 -0
- package/build/askar-shared/src/enums/KeyAlgorithm.js.map +1 -0
- package/build/askar-shared/src/enums/KeyBackend.d.ts +6 -0
- package/build/askar-shared/src/enums/KeyBackend.js +24 -0
- package/build/askar-shared/src/enums/KeyBackend.js.map +1 -0
- package/build/askar-shared/src/enums/KeyMethod.d.ts +4 -0
- package/build/askar-shared/src/enums/KeyMethod.js +9 -0
- package/build/askar-shared/src/enums/KeyMethod.js.map +1 -0
- package/build/askar-shared/src/enums/LogLevel.d.ts +9 -0
- package/build/askar-shared/src/enums/LogLevel.js +14 -0
- package/build/askar-shared/src/enums/LogLevel.js.map +1 -0
- package/build/askar-shared/src/enums/SignatureAlgorithm.d.ts +6 -0
- package/build/askar-shared/src/enums/SignatureAlgorithm.js +11 -0
- package/build/askar-shared/src/enums/SignatureAlgorithm.js.map +1 -0
- package/build/askar-shared/src/enums/index.d.ts +5 -0
- package/build/askar-shared/src/enums/index.js +22 -0
- package/build/askar-shared/src/enums/index.js.map +1 -0
- package/build/askar-shared/src/error.d.ts +12 -0
- package/build/askar-shared/src/error.js +21 -0
- package/build/askar-shared/src/error.js.map +1 -0
- package/build/askar-shared/src/index.d.ts +6 -0
- package/build/askar-shared/src/index.js +23 -0
- package/build/askar-shared/src/index.js.map +1 -0
- package/build/askar-shared/src/migration.d.ts +10 -0
- package/build/askar-shared/src/migration.js +11 -0
- package/build/askar-shared/src/migration.js.map +1 -0
- package/build/askar-shared/src/store/Entry.d.ts +21 -0
- package/build/askar-shared/src/store/Entry.js +38 -0
- package/build/askar-shared/src/store/Entry.js.map +1 -0
- package/build/askar-shared/src/store/EntryList.d.ts +17 -0
- package/build/askar-shared/src/store/EntryList.js +40 -0
- package/build/askar-shared/src/store/EntryList.js.map +1 -0
- package/build/askar-shared/src/store/KeyEntry.d.ts +23 -0
- package/build/askar-shared/src/store/KeyEntry.js +40 -0
- package/build/askar-shared/src/store/KeyEntry.js.map +1 -0
- package/build/askar-shared/src/store/KeyEntryList.d.ts +15 -0
- package/build/askar-shared/src/store/KeyEntryList.js +33 -0
- package/build/askar-shared/src/store/KeyEntryList.js.map +1 -0
- package/build/askar-shared/src/store/OpenSession.d.ts +14 -0
- package/build/askar-shared/src/store/OpenSession.js +27 -0
- package/build/askar-shared/src/store/OpenSession.js.map +1 -0
- package/build/askar-shared/src/store/Scan.d.ts +28 -0
- package/build/askar-shared/src/store/Scan.js +67 -0
- package/build/askar-shared/src/store/Scan.js.map +1 -0
- package/build/askar-shared/src/store/Session.d.ts +86 -0
- package/build/askar-shared/src/store/Session.js +182 -0
- package/build/askar-shared/src/store/Session.js.map +1 -0
- package/build/askar-shared/src/store/Store.d.ts +58 -0
- package/build/askar-shared/src/store/Store.js +87 -0
- package/build/askar-shared/src/store/Store.js.map +1 -0
- package/build/askar-shared/src/store/StoreKeyMethod.d.ts +11 -0
- package/build/askar-shared/src/store/StoreKeyMethod.js +20 -0
- package/build/askar-shared/src/store/StoreKeyMethod.js.map +1 -0
- package/build/askar-shared/src/store/index.d.ts +9 -0
- package/build/askar-shared/src/store/index.js +26 -0
- package/build/askar-shared/src/store/index.js.map +1 -0
- package/cpp/HostObject.cpp +198 -0
- package/cpp/HostObject.h +23 -0
- package/cpp/askar.cpp +1118 -0
- package/cpp/askar.h +111 -0
- package/cpp/include/libaries_askar.h +635 -0
- package/cpp/turboModuleUtility.cpp +598 -0
- package/cpp/turboModuleUtility.h +62 -0
- package/ios/Askar.h +5 -0
- package/ios/Askar.mm +33 -0
- package/package.json +59 -0
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.KeyEntryList = void 0;
|
|
4
|
+
const askar_1 = require("../askar");
|
|
5
|
+
const KeyEntry_1 = require("./KeyEntry");
|
|
6
|
+
class KeyEntryList {
|
|
7
|
+
constructor({ handle }) {
|
|
8
|
+
this._len = 0;
|
|
9
|
+
this._handle = handle;
|
|
10
|
+
this._len = askar_1.askar.keyEntryListCount({ keyEntryListHandle: handle });
|
|
11
|
+
}
|
|
12
|
+
get handle() {
|
|
13
|
+
return this._handle;
|
|
14
|
+
}
|
|
15
|
+
get length() {
|
|
16
|
+
return this._len;
|
|
17
|
+
}
|
|
18
|
+
getEntryByIndex(index) {
|
|
19
|
+
return new KeyEntry_1.KeyEntry({ list: this.handle, pos: index });
|
|
20
|
+
}
|
|
21
|
+
forEachKeyEntry(cb) {
|
|
22
|
+
for (let i = 0; i < this.length; i++) {
|
|
23
|
+
cb(this.getEntryByIndex(i), i);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
toArray() {
|
|
27
|
+
const list = [];
|
|
28
|
+
this.forEachKeyEntry((key) => list.push(key.toJson()));
|
|
29
|
+
return list;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
exports.KeyEntryList = KeyEntryList;
|
|
33
|
+
//# sourceMappingURL=KeyEntryList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KeyEntryList.js","sourceRoot":"","sources":["../../../../../askar-shared/src/store/KeyEntryList.ts"],"names":[],"mappings":";;;AAGA,oCAAgC;AAEhC,yCAAqC;AAErC,MAAa,YAAY;IAIvB,YAAmB,EAAE,MAAM,EAAkC;QAFrD,SAAI,GAAG,CAAC,CAAA;QAGd,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;QACrB,IAAI,CAAC,IAAI,GAAG,aAAK,CAAC,iBAAiB,CAAC,EAAE,kBAAkB,EAAE,MAAM,EAAE,CAAC,CAAA;IACrE,CAAC;IAED,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;IAEM,eAAe,CAAC,KAAa;QAClC,OAAO,IAAI,mBAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAA;IACxD,CAAC;IAEM,eAAe,CAAC,EAAgD;QACrE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAChC,CAAC;IACH,CAAC;IAEM,OAAO;QACZ,MAAM,IAAI,GAAqB,EAAE,CAAA;QACjC,IAAI,CAAC,eAAe,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QACtD,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AAhCD,oCAgCC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { StoreHandle } from '../crypto';
|
|
2
|
+
import { Session } from './Session';
|
|
3
|
+
export declare class OpenSession {
|
|
4
|
+
private store;
|
|
5
|
+
private profile?;
|
|
6
|
+
private isTxn;
|
|
7
|
+
private session?;
|
|
8
|
+
constructor({ store, isTxn, profile }: {
|
|
9
|
+
store: StoreHandle;
|
|
10
|
+
profile?: string;
|
|
11
|
+
isTxn: boolean;
|
|
12
|
+
});
|
|
13
|
+
open(): Promise<Session>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OpenSession = void 0;
|
|
4
|
+
const askar_1 = require("../askar");
|
|
5
|
+
const error_1 = require("../error");
|
|
6
|
+
const Session_1 = require("./Session");
|
|
7
|
+
class OpenSession {
|
|
8
|
+
constructor({ store, isTxn, profile }) {
|
|
9
|
+
this.store = store;
|
|
10
|
+
this.isTxn = isTxn;
|
|
11
|
+
this.profile = profile;
|
|
12
|
+
}
|
|
13
|
+
async open() {
|
|
14
|
+
if (!this.store)
|
|
15
|
+
throw error_1.AskarError.customError({ message: 'Cannot start session from closed store' });
|
|
16
|
+
if (this.session)
|
|
17
|
+
throw error_1.AskarError.customError({ message: 'Session already opened' });
|
|
18
|
+
const sessionHandle = await askar_1.askar.sessionStart({
|
|
19
|
+
profile: this.profile,
|
|
20
|
+
asTransaction: this.isTxn,
|
|
21
|
+
storeHandle: this.store,
|
|
22
|
+
});
|
|
23
|
+
return new Session_1.Session({ isTxn: this.isTxn, handle: sessionHandle });
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.OpenSession = OpenSession;
|
|
27
|
+
//# sourceMappingURL=OpenSession.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OpenSession.js","sourceRoot":"","sources":["../../../../../askar-shared/src/store/OpenSession.ts"],"names":[],"mappings":";;;AAEA,oCAAgC;AAChC,oCAAqC;AAErC,uCAAmC;AAEnC,MAAa,WAAW;IAOtB,YAAmB,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAA4D;QACpG,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAEM,KAAK,CAAC,IAAI;QACf,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,MAAM,kBAAU,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,wCAAwC,EAAE,CAAC,CAAA;QACpG,IAAI,IAAI,CAAC,OAAO;YAAE,MAAM,kBAAU,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAC,CAAA;QACrF,MAAM,aAAa,GAAG,MAAM,aAAK,CAAC,YAAY,CAAC;YAC7C,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,aAAa,EAAE,IAAI,CAAC,KAAK;YACzB,WAAW,EAAE,IAAI,CAAC,KAAK;SACxB,CAAC,CAAA;QACF,OAAO,IAAI,iBAAO,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAA;IAClE,CAAC;CACF;AAvBD,kCAuBC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { ScanHandle } from '../crypto';
|
|
2
|
+
import type { EntryObject } from './Entry';
|
|
3
|
+
import type { Store } from './Store';
|
|
4
|
+
export declare class Scan {
|
|
5
|
+
private _handle?;
|
|
6
|
+
private _listHandle?;
|
|
7
|
+
private store;
|
|
8
|
+
private profile?;
|
|
9
|
+
private category;
|
|
10
|
+
private tagFilter?;
|
|
11
|
+
private offset?;
|
|
12
|
+
private limit?;
|
|
13
|
+
private orderBy?;
|
|
14
|
+
private descending?;
|
|
15
|
+
constructor({ store, category, limit, offset, profile, tagFilter, orderBy, descending, }: {
|
|
16
|
+
store: Store;
|
|
17
|
+
profile?: string;
|
|
18
|
+
category: string;
|
|
19
|
+
tagFilter?: Record<string, unknown>;
|
|
20
|
+
offset?: number;
|
|
21
|
+
limit?: number;
|
|
22
|
+
orderBy?: string;
|
|
23
|
+
descending?: boolean;
|
|
24
|
+
});
|
|
25
|
+
get handle(): ScanHandle | undefined;
|
|
26
|
+
private forEachRow;
|
|
27
|
+
fetchAll(): Promise<EntryObject[]>;
|
|
28
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Scan = void 0;
|
|
4
|
+
const askar_1 = require("../askar");
|
|
5
|
+
const error_1 = require("../error");
|
|
6
|
+
const EntryList_1 = require("./EntryList");
|
|
7
|
+
class Scan {
|
|
8
|
+
constructor({ store, category, limit, offset, profile, tagFilter, orderBy, descending, }) {
|
|
9
|
+
this.category = category;
|
|
10
|
+
this.profile = profile;
|
|
11
|
+
this.tagFilter = tagFilter;
|
|
12
|
+
this.offset = offset;
|
|
13
|
+
this.limit = limit;
|
|
14
|
+
this.orderBy = orderBy;
|
|
15
|
+
this.descending = descending;
|
|
16
|
+
this.store = store;
|
|
17
|
+
}
|
|
18
|
+
get handle() {
|
|
19
|
+
return this._handle;
|
|
20
|
+
}
|
|
21
|
+
async forEachRow(cb) {
|
|
22
|
+
var _a;
|
|
23
|
+
if (!this.handle) {
|
|
24
|
+
if (!((_a = this.store) === null || _a === void 0 ? void 0 : _a.handle))
|
|
25
|
+
throw error_1.AskarError.customError({ message: 'Cannot scan from closed store' });
|
|
26
|
+
this._handle = await askar_1.askar.scanStart({
|
|
27
|
+
storeHandle: this.store.handle,
|
|
28
|
+
profile: this.profile,
|
|
29
|
+
category: this.category,
|
|
30
|
+
tagFilter: this.tagFilter,
|
|
31
|
+
limit: this.limit,
|
|
32
|
+
offset: this.offset,
|
|
33
|
+
orderBy: this.orderBy,
|
|
34
|
+
descending: this.descending,
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
if (!this._handle) {
|
|
38
|
+
throw error_1.AskarError.customError({ message: 'Handle is not set. Invalid state reached.' });
|
|
39
|
+
}
|
|
40
|
+
try {
|
|
41
|
+
let recordCount = 0;
|
|
42
|
+
// Loop while limit not reached (or no limit specified)
|
|
43
|
+
while (!this.limit || recordCount < this.limit) {
|
|
44
|
+
const listHandle = await askar_1.askar.scanNext({ scanHandle: this._handle });
|
|
45
|
+
if (!listHandle)
|
|
46
|
+
break;
|
|
47
|
+
this._listHandle = listHandle;
|
|
48
|
+
const list = new EntryList_1.EntryList({ handle: this._listHandle });
|
|
49
|
+
recordCount = recordCount + list.length;
|
|
50
|
+
for (let index = 0; index < list.length; index++) {
|
|
51
|
+
const entry = list.getEntryByIndex(index);
|
|
52
|
+
cb(entry);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
finally {
|
|
57
|
+
askar_1.askar.scanFree({ scanHandle: this._handle });
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
async fetchAll() {
|
|
61
|
+
const rows = [];
|
|
62
|
+
await this.forEachRow((row) => rows.push(row.toJson()));
|
|
63
|
+
return rows;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
exports.Scan = Scan;
|
|
67
|
+
//# sourceMappingURL=Scan.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Scan.js","sourceRoot":"","sources":["../../../../../askar-shared/src/store/Scan.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import type { Key, SessionHandle } from '../crypto';
|
|
2
|
+
import type { KeyAlgorithm } from '../enums';
|
|
3
|
+
export declare class Session {
|
|
4
|
+
private _handle?;
|
|
5
|
+
private isTxn;
|
|
6
|
+
constructor({ handle, isTxn }: {
|
|
7
|
+
handle?: SessionHandle;
|
|
8
|
+
isTxn: boolean;
|
|
9
|
+
});
|
|
10
|
+
get isTransaction(): boolean;
|
|
11
|
+
get handle(): SessionHandle | undefined;
|
|
12
|
+
count({ category, tagFilter }: {
|
|
13
|
+
category: string;
|
|
14
|
+
tagFilter?: Record<string, unknown>;
|
|
15
|
+
}): Promise<number>;
|
|
16
|
+
fetch({ category, name, forUpdate, isJson, }: {
|
|
17
|
+
category: string;
|
|
18
|
+
name: string;
|
|
19
|
+
forUpdate?: boolean;
|
|
20
|
+
isJson?: boolean;
|
|
21
|
+
}): Promise<import("./Entry").EntryObject | null>;
|
|
22
|
+
fetchAll({ category, forUpdate, limit, tagFilter, isJson, orderBy, descending, }: {
|
|
23
|
+
category: string;
|
|
24
|
+
tagFilter?: Record<string, unknown>;
|
|
25
|
+
limit?: number;
|
|
26
|
+
forUpdate?: boolean;
|
|
27
|
+
orderBy?: string;
|
|
28
|
+
descending?: boolean;
|
|
29
|
+
isJson?: boolean;
|
|
30
|
+
}): Promise<import("./Entry").EntryObject[]>;
|
|
31
|
+
insert({ category, name, expiryMs, tags, value, }: {
|
|
32
|
+
category: string;
|
|
33
|
+
name: string;
|
|
34
|
+
value: string | Record<string, unknown>;
|
|
35
|
+
tags?: Record<string, unknown>;
|
|
36
|
+
expiryMs?: number;
|
|
37
|
+
}): Promise<void>;
|
|
38
|
+
replace({ category, name, expiryMs, tags, value, }: {
|
|
39
|
+
category: string;
|
|
40
|
+
name: string;
|
|
41
|
+
value: string | Record<string, unknown>;
|
|
42
|
+
tags?: Record<string, unknown>;
|
|
43
|
+
expiryMs?: number;
|
|
44
|
+
}): Promise<void>;
|
|
45
|
+
remove({ category, name }: {
|
|
46
|
+
category: string;
|
|
47
|
+
name: string;
|
|
48
|
+
}): Promise<void>;
|
|
49
|
+
removeAll({ category, tagFilter }: {
|
|
50
|
+
category: string;
|
|
51
|
+
tagFilter?: Record<string, unknown>;
|
|
52
|
+
}): Promise<void>;
|
|
53
|
+
insertKey({ name, key, expiryMs, metadata, tags, }: {
|
|
54
|
+
name: string;
|
|
55
|
+
key: Key;
|
|
56
|
+
metadata?: string;
|
|
57
|
+
tags?: Record<string, unknown>;
|
|
58
|
+
expiryMs?: number;
|
|
59
|
+
}): Promise<void>;
|
|
60
|
+
fetchKey({ name, forUpdate }: {
|
|
61
|
+
name: string;
|
|
62
|
+
forUpdate?: boolean;
|
|
63
|
+
}): Promise<import("@openwallet-foundation/askar-react-native").KeyEntryObject | null>;
|
|
64
|
+
fetchAllKeys({ forUpdate, algorithm, limit, tagFilter, thumbprint, }: {
|
|
65
|
+
algorithm?: KeyAlgorithm;
|
|
66
|
+
thumbprint?: string;
|
|
67
|
+
tagFilter?: Record<string, unknown>;
|
|
68
|
+
limit?: number;
|
|
69
|
+
forUpdate?: boolean;
|
|
70
|
+
}): Promise<import("@openwallet-foundation/askar-react-native").KeyEntryObject[]>;
|
|
71
|
+
updateKey({ name, expiryMs, metadata, tags, }: {
|
|
72
|
+
name: string;
|
|
73
|
+
metadata?: string;
|
|
74
|
+
tags?: Record<string, unknown>;
|
|
75
|
+
expiryMs?: number;
|
|
76
|
+
}): Promise<void>;
|
|
77
|
+
removeKey({ name }: {
|
|
78
|
+
name: string;
|
|
79
|
+
}): Promise<void>;
|
|
80
|
+
/**
|
|
81
|
+
* @note also closes the session
|
|
82
|
+
*/
|
|
83
|
+
commit(): Promise<void>;
|
|
84
|
+
rollback(): Promise<void>;
|
|
85
|
+
close(): Promise<void>;
|
|
86
|
+
}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Session = void 0;
|
|
4
|
+
const buffer_1 = require("buffer");
|
|
5
|
+
const askar_1 = require("../askar");
|
|
6
|
+
const EntryOperation_1 = require("../enums/EntryOperation");
|
|
7
|
+
const error_1 = require("../error");
|
|
8
|
+
const Entry_1 = require("./Entry");
|
|
9
|
+
const EntryList_1 = require("./EntryList");
|
|
10
|
+
const KeyEntryList_1 = require("./KeyEntryList");
|
|
11
|
+
class Session {
|
|
12
|
+
constructor({ handle, isTxn }) {
|
|
13
|
+
this._handle = handle;
|
|
14
|
+
this.isTxn = isTxn;
|
|
15
|
+
}
|
|
16
|
+
get isTransaction() {
|
|
17
|
+
return this.isTxn;
|
|
18
|
+
}
|
|
19
|
+
get handle() {
|
|
20
|
+
return this._handle;
|
|
21
|
+
}
|
|
22
|
+
async count({ category, tagFilter }) {
|
|
23
|
+
if (!this.handle)
|
|
24
|
+
throw error_1.AskarError.customError({ message: 'Cannot count from closed session' });
|
|
25
|
+
return await askar_1.askar.sessionCount({ tagFilter, category, sessionHandle: this.handle });
|
|
26
|
+
}
|
|
27
|
+
async fetch({ category, name, forUpdate = false, isJson, }) {
|
|
28
|
+
if (!this.handle)
|
|
29
|
+
throw error_1.AskarError.customError({ message: 'Cannot fetch from a closed session' });
|
|
30
|
+
const handle = await askar_1.askar.sessionFetch({ forUpdate, name, category, sessionHandle: this.handle });
|
|
31
|
+
if (!handle)
|
|
32
|
+
return null;
|
|
33
|
+
const entry = new Entry_1.Entry({ list: handle, position: 0 });
|
|
34
|
+
const entryObject = entry.toJson(isJson);
|
|
35
|
+
handle.free();
|
|
36
|
+
return entryObject;
|
|
37
|
+
}
|
|
38
|
+
async fetchAll({ category, forUpdate = false, limit, tagFilter, isJson, orderBy, descending, }) {
|
|
39
|
+
if (!this.handle)
|
|
40
|
+
throw error_1.AskarError.customError({ message: 'Cannot fetch all from a closed session' });
|
|
41
|
+
const handle = await askar_1.askar.sessionFetchAll({
|
|
42
|
+
forUpdate,
|
|
43
|
+
limit,
|
|
44
|
+
tagFilter,
|
|
45
|
+
sessionHandle: this.handle,
|
|
46
|
+
category,
|
|
47
|
+
orderBy,
|
|
48
|
+
descending,
|
|
49
|
+
});
|
|
50
|
+
if (!handle)
|
|
51
|
+
return [];
|
|
52
|
+
const entryList = new EntryList_1.EntryList({ handle });
|
|
53
|
+
const entryObjects = entryList.toArray(isJson);
|
|
54
|
+
entryList.handle.free();
|
|
55
|
+
return entryObjects;
|
|
56
|
+
}
|
|
57
|
+
async insert({ category, name, expiryMs, tags, value, }) {
|
|
58
|
+
if (!this.handle)
|
|
59
|
+
throw error_1.AskarError.customError({ message: 'Cannot insert with a closed session' });
|
|
60
|
+
const serializedValue = typeof value === 'string' ? value : JSON.stringify(value);
|
|
61
|
+
await askar_1.askar.sessionUpdate({
|
|
62
|
+
value: Uint8Array.from(buffer_1.Buffer.from(serializedValue)),
|
|
63
|
+
expiryMs,
|
|
64
|
+
tags,
|
|
65
|
+
name,
|
|
66
|
+
category,
|
|
67
|
+
sessionHandle: this.handle,
|
|
68
|
+
operation: EntryOperation_1.EntryOperation.Insert,
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
async replace({ category, name, expiryMs, tags, value, }) {
|
|
72
|
+
if (!this.handle)
|
|
73
|
+
throw error_1.AskarError.customError({ message: 'Cannot replace with a closed session' });
|
|
74
|
+
const serializedValue = typeof value === 'string' ? value : JSON.stringify(value);
|
|
75
|
+
await askar_1.askar.sessionUpdate({
|
|
76
|
+
value: Uint8Array.from(buffer_1.Buffer.from(serializedValue)),
|
|
77
|
+
expiryMs,
|
|
78
|
+
tags,
|
|
79
|
+
name,
|
|
80
|
+
category,
|
|
81
|
+
sessionHandle: this.handle,
|
|
82
|
+
operation: EntryOperation_1.EntryOperation.Replace,
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
async remove({ category, name }) {
|
|
86
|
+
if (!this.handle)
|
|
87
|
+
throw error_1.AskarError.customError({ message: 'Cannot remove with a closed session' });
|
|
88
|
+
await askar_1.askar.sessionUpdate({
|
|
89
|
+
name,
|
|
90
|
+
category,
|
|
91
|
+
sessionHandle: this.handle,
|
|
92
|
+
operation: EntryOperation_1.EntryOperation.Remove,
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
async removeAll({ category, tagFilter }) {
|
|
96
|
+
if (!this.handle)
|
|
97
|
+
throw error_1.AskarError.customError({ message: 'Cannot remove all with a closed session' });
|
|
98
|
+
await askar_1.askar.sessionRemoveAll({
|
|
99
|
+
category,
|
|
100
|
+
sessionHandle: this.handle,
|
|
101
|
+
tagFilter,
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
async insertKey({ name, key, expiryMs, metadata, tags, }) {
|
|
105
|
+
if (!this.handle)
|
|
106
|
+
throw error_1.AskarError.customError({ message: 'Cannot insert a key with a closed session' });
|
|
107
|
+
await askar_1.askar.sessionInsertKey({
|
|
108
|
+
expiryMs,
|
|
109
|
+
tags,
|
|
110
|
+
metadata,
|
|
111
|
+
name,
|
|
112
|
+
sessionHandle: this.handle,
|
|
113
|
+
localKeyHandle: key.handle,
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
async fetchKey({ name, forUpdate = false }) {
|
|
117
|
+
if (!this.handle)
|
|
118
|
+
throw error_1.AskarError.customError({ message: 'Cannot fetch a key with a closed session' });
|
|
119
|
+
const handle = await askar_1.askar.sessionFetchKey({ forUpdate, name, sessionHandle: this.handle });
|
|
120
|
+
if (!handle)
|
|
121
|
+
return null;
|
|
122
|
+
const keyEntryList = new KeyEntryList_1.KeyEntryList({ handle });
|
|
123
|
+
const keyEntryObject = keyEntryList.getEntryByIndex(0).toJson();
|
|
124
|
+
keyEntryList.handle.free();
|
|
125
|
+
return keyEntryObject;
|
|
126
|
+
}
|
|
127
|
+
async fetchAllKeys({ forUpdate = false, algorithm, limit, tagFilter, thumbprint, }) {
|
|
128
|
+
if (!this.handle)
|
|
129
|
+
throw error_1.AskarError.customError({ message: 'Cannot fetch all keys with a closed session' });
|
|
130
|
+
const handle = await askar_1.askar.sessionFetchAllKeys({
|
|
131
|
+
forUpdate,
|
|
132
|
+
limit,
|
|
133
|
+
tagFilter,
|
|
134
|
+
thumbprint,
|
|
135
|
+
algorithm,
|
|
136
|
+
sessionHandle: this.handle,
|
|
137
|
+
});
|
|
138
|
+
if (!handle)
|
|
139
|
+
return [];
|
|
140
|
+
const keyEntryList = new KeyEntryList_1.KeyEntryList({ handle });
|
|
141
|
+
const keyEntryObjects = keyEntryList.toArray();
|
|
142
|
+
keyEntryList.handle.free();
|
|
143
|
+
return keyEntryObjects;
|
|
144
|
+
}
|
|
145
|
+
async updateKey({ name, expiryMs, metadata, tags, }) {
|
|
146
|
+
if (!this.handle)
|
|
147
|
+
throw error_1.AskarError.customError({ message: 'Cannot update a key with a closed session' });
|
|
148
|
+
await askar_1.askar.sessionUpdateKey({ expiryMs, tags, metadata, name, sessionHandle: this.handle });
|
|
149
|
+
}
|
|
150
|
+
async removeKey({ name }) {
|
|
151
|
+
if (!this.handle)
|
|
152
|
+
throw error_1.AskarError.customError({ message: 'Cannot remove a key with a closed session' });
|
|
153
|
+
await askar_1.askar.sessionRemoveKey({ name, sessionHandle: this.handle });
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* @note also closes the session
|
|
157
|
+
*/
|
|
158
|
+
async commit() {
|
|
159
|
+
if (!this.isTxn)
|
|
160
|
+
throw error_1.AskarError.customError({ message: 'Session is not a transaction' });
|
|
161
|
+
if (!this.handle)
|
|
162
|
+
throw error_1.AskarError.customError({ message: 'Cannot commit a closed session' });
|
|
163
|
+
await this.handle.close(true);
|
|
164
|
+
this._handle = undefined;
|
|
165
|
+
}
|
|
166
|
+
async rollback() {
|
|
167
|
+
if (!this.isTxn)
|
|
168
|
+
throw error_1.AskarError.customError({ message: 'Session is not a transaction' });
|
|
169
|
+
if (!this.handle)
|
|
170
|
+
throw error_1.AskarError.customError({ message: 'Cannot rollback a closed session' });
|
|
171
|
+
await this.handle.close(false);
|
|
172
|
+
this._handle = undefined;
|
|
173
|
+
}
|
|
174
|
+
async close() {
|
|
175
|
+
if (!this.handle)
|
|
176
|
+
throw error_1.AskarError.customError({ message: 'Cannot close a closed session' });
|
|
177
|
+
await this.handle.close(false);
|
|
178
|
+
this._handle = undefined;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
exports.Session = Session;
|
|
182
|
+
//# sourceMappingURL=Session.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Session.js","sourceRoot":"","sources":["../../../../../askar-shared/src/store/Session.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { StoreHandle } from '../crypto';
|
|
2
|
+
import type { StoreKeyMethod } from './StoreKeyMethod';
|
|
3
|
+
import { OpenSession } from './OpenSession';
|
|
4
|
+
import { Scan } from './Scan';
|
|
5
|
+
export declare class Store {
|
|
6
|
+
private _handle;
|
|
7
|
+
private _opener?;
|
|
8
|
+
private _uri;
|
|
9
|
+
constructor({ handle, uri }: {
|
|
10
|
+
handle: StoreHandle;
|
|
11
|
+
uri: string;
|
|
12
|
+
});
|
|
13
|
+
get handle(): StoreHandle;
|
|
14
|
+
static generateRawKey(seed?: Uint8Array): string;
|
|
15
|
+
get uri(): string;
|
|
16
|
+
createProfile(name?: string): Promise<string>;
|
|
17
|
+
getDefaultProfile(): Promise<string>;
|
|
18
|
+
setDefaultProfile(name: string): Promise<void>;
|
|
19
|
+
listProfiles(): Promise<string[]>;
|
|
20
|
+
removeProfile(name: string): Promise<number>;
|
|
21
|
+
rekey({ keyMethod, passKey }: {
|
|
22
|
+
keyMethod?: StoreKeyMethod;
|
|
23
|
+
passKey: string;
|
|
24
|
+
}): Promise<void>;
|
|
25
|
+
static provision({ uri, recreate, keyMethod, passKey, profile, }: {
|
|
26
|
+
uri: string;
|
|
27
|
+
keyMethod?: StoreKeyMethod;
|
|
28
|
+
passKey?: string;
|
|
29
|
+
profile?: string;
|
|
30
|
+
recreate: boolean;
|
|
31
|
+
}): Promise<Store>;
|
|
32
|
+
static open({ uri, keyMethod, passKey, profile, }: {
|
|
33
|
+
uri: string;
|
|
34
|
+
keyMethod?: StoreKeyMethod;
|
|
35
|
+
passKey?: string;
|
|
36
|
+
profile?: string;
|
|
37
|
+
}): Promise<Store>;
|
|
38
|
+
close(remove?: boolean): Promise<number | false>;
|
|
39
|
+
static remove(uri: string): Promise<number>;
|
|
40
|
+
session(profile?: string): OpenSession;
|
|
41
|
+
transaction(profile?: string): OpenSession;
|
|
42
|
+
openSession(isTransaction?: boolean): Promise<import("@openwallet-foundation/askar-react-native").Session>;
|
|
43
|
+
scan(options: {
|
|
44
|
+
category: string;
|
|
45
|
+
tagFilter?: Record<string, unknown>;
|
|
46
|
+
offset?: number;
|
|
47
|
+
limit?: number;
|
|
48
|
+
profile?: string;
|
|
49
|
+
orderBy?: string;
|
|
50
|
+
descending?: boolean;
|
|
51
|
+
}): Scan;
|
|
52
|
+
copyTo({ uri, keyMethod, passKey, recreate, }: {
|
|
53
|
+
uri: string;
|
|
54
|
+
keyMethod?: StoreKeyMethod;
|
|
55
|
+
passKey?: string;
|
|
56
|
+
recreate: boolean;
|
|
57
|
+
}): Promise<void>;
|
|
58
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Store = void 0;
|
|
4
|
+
const askar_1 = require("../askar");
|
|
5
|
+
const OpenSession_1 = require("./OpenSession");
|
|
6
|
+
const Scan_1 = require("./Scan");
|
|
7
|
+
class Store {
|
|
8
|
+
constructor({ handle, uri }) {
|
|
9
|
+
this._handle = handle;
|
|
10
|
+
this._uri = uri;
|
|
11
|
+
}
|
|
12
|
+
get handle() {
|
|
13
|
+
return this._handle;
|
|
14
|
+
}
|
|
15
|
+
static generateRawKey(seed) {
|
|
16
|
+
return askar_1.askar.storeGenerateRawKey({ seed });
|
|
17
|
+
}
|
|
18
|
+
get uri() {
|
|
19
|
+
return this._uri;
|
|
20
|
+
}
|
|
21
|
+
async createProfile(name) {
|
|
22
|
+
return askar_1.askar.storeCreateProfile({ storeHandle: this.handle, profile: name });
|
|
23
|
+
}
|
|
24
|
+
async getDefaultProfile() {
|
|
25
|
+
return askar_1.askar.storeGetDefaultProfile({ storeHandle: this.handle });
|
|
26
|
+
}
|
|
27
|
+
async setDefaultProfile(name) {
|
|
28
|
+
return askar_1.askar.storeSetDefaultProfile({ storeHandle: this.handle, profile: name });
|
|
29
|
+
}
|
|
30
|
+
async listProfiles() {
|
|
31
|
+
return askar_1.askar.storeListProfiles({ storeHandle: this.handle });
|
|
32
|
+
}
|
|
33
|
+
async removeProfile(name) {
|
|
34
|
+
return await askar_1.askar.storeRemoveProfile({ profile: name, storeHandle: this.handle });
|
|
35
|
+
}
|
|
36
|
+
async rekey({ keyMethod, passKey }) {
|
|
37
|
+
return await askar_1.askar.storeRekey({ keyMethod: keyMethod === null || keyMethod === void 0 ? void 0 : keyMethod.toUri(), passKey, storeHandle: this.handle });
|
|
38
|
+
}
|
|
39
|
+
static async provision({ uri, recreate, keyMethod, passKey, profile, }) {
|
|
40
|
+
const handle = await askar_1.askar.storeProvision({
|
|
41
|
+
specUri: uri,
|
|
42
|
+
keyMethod: keyMethod === null || keyMethod === void 0 ? void 0 : keyMethod.toUri(),
|
|
43
|
+
profile,
|
|
44
|
+
passKey,
|
|
45
|
+
recreate,
|
|
46
|
+
});
|
|
47
|
+
return new Store({ handle, uri });
|
|
48
|
+
}
|
|
49
|
+
static async open({ uri, keyMethod, passKey, profile, }) {
|
|
50
|
+
const handle = await askar_1.askar.storeOpen({ profile, passKey, keyMethod: keyMethod === null || keyMethod === void 0 ? void 0 : keyMethod.toUri(), specUri: uri });
|
|
51
|
+
return new Store({ uri, handle });
|
|
52
|
+
}
|
|
53
|
+
async close(remove = false) {
|
|
54
|
+
this._opener = undefined;
|
|
55
|
+
if (this.handle)
|
|
56
|
+
await this.handle.close();
|
|
57
|
+
return remove ? await Store.remove(this.uri) : false;
|
|
58
|
+
}
|
|
59
|
+
static async remove(uri) {
|
|
60
|
+
return await askar_1.askar.storeRemove({ specUri: uri });
|
|
61
|
+
}
|
|
62
|
+
session(profile) {
|
|
63
|
+
return new OpenSession_1.OpenSession({ store: this.handle, profile, isTxn: false });
|
|
64
|
+
}
|
|
65
|
+
transaction(profile) {
|
|
66
|
+
return new OpenSession_1.OpenSession({ store: this.handle, profile, isTxn: true });
|
|
67
|
+
}
|
|
68
|
+
async openSession(isTransaction = false) {
|
|
69
|
+
var _a;
|
|
70
|
+
(_a = this._opener) !== null && _a !== void 0 ? _a : (this._opener = new OpenSession_1.OpenSession({ store: this.handle, isTxn: isTransaction }));
|
|
71
|
+
return await this._opener.open();
|
|
72
|
+
}
|
|
73
|
+
scan(options) {
|
|
74
|
+
return new Scan_1.Scan(Object.assign(Object.assign({}, options), { store: this }));
|
|
75
|
+
}
|
|
76
|
+
async copyTo({ uri, keyMethod, passKey, recreate, }) {
|
|
77
|
+
await askar_1.askar.storeCopyTo({
|
|
78
|
+
storeHandle: this.handle,
|
|
79
|
+
targetUri: uri,
|
|
80
|
+
keyMethod: keyMethod === null || keyMethod === void 0 ? void 0 : keyMethod.toUri(),
|
|
81
|
+
passKey,
|
|
82
|
+
recreate,
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
exports.Store = Store;
|
|
87
|
+
//# sourceMappingURL=Store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Store.js","sourceRoot":"","sources":["../../../../../askar-shared/src/store/Store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StoreKeyMethod = exports.KdfMethod = void 0;
|
|
4
|
+
var KdfMethod;
|
|
5
|
+
(function (KdfMethod) {
|
|
6
|
+
KdfMethod["Raw"] = "raw";
|
|
7
|
+
KdfMethod["None"] = "none";
|
|
8
|
+
KdfMethod["Argon2IMod"] = "kdf:argon2i:mod";
|
|
9
|
+
KdfMethod["Argon2IInt"] = "kdf:argon2i:int";
|
|
10
|
+
})(KdfMethod || (exports.KdfMethod = KdfMethod = {}));
|
|
11
|
+
class StoreKeyMethod {
|
|
12
|
+
constructor(method) {
|
|
13
|
+
this.method = method;
|
|
14
|
+
}
|
|
15
|
+
toUri() {
|
|
16
|
+
return this.method.toString();
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.StoreKeyMethod = StoreKeyMethod;
|
|
20
|
+
//# sourceMappingURL=StoreKeyMethod.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StoreKeyMethod.js","sourceRoot":"","sources":["../../../../../askar-shared/src/store/StoreKeyMethod.ts"],"names":[],"mappings":";;;AAAA,IAAY,SAKX;AALD,WAAY,SAAS;IACnB,wBAAW,CAAA;IACX,0BAAa,CAAA;IACb,2CAA8B,CAAA;IAC9B,2CAA8B,CAAA;AAChC,CAAC,EALW,SAAS,yBAAT,SAAS,QAKpB;AAED,MAAa,cAAc;IAGzB,YAAmB,MAAiB;QAClC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAEM,KAAK;QACV,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;IAC/B,CAAC;CACF;AAVD,wCAUC"}
|