@haex-space/vault-sdk 2.3.15 → 2.3.16
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/dist/index.d.mts +12 -1
- package/dist/index.d.ts +12 -1
- package/dist/index.js +38 -0
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +37 -1
- package/dist/index.mjs.map +1 -1
- package/dist/react.js.map +1 -1
- package/dist/react.mjs.map +1 -1
- package/dist/svelte.js.map +1 -1
- package/dist/svelte.mjs.map +1 -1
- package/dist/vue.js.map +1 -1
- package/dist/vue.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -267,6 +267,17 @@ declare function encryptCrdtData(data: object, vaultKey: Uint8Array): Promise<{
|
|
|
267
267
|
encryptedData: string;
|
|
268
268
|
nonce: string;
|
|
269
269
|
}>;
|
|
270
|
+
/**
|
|
271
|
+
* Wraps (encrypts) a key with another key using AES-GCM
|
|
272
|
+
* Used for key hierarchies (e.g., master key -> space key -> file key)
|
|
273
|
+
* Returns: nonce (12 bytes) + ciphertext as Uint8Array
|
|
274
|
+
*/
|
|
275
|
+
declare function wrapKey(keyToWrap: Uint8Array, wrappingKey: Uint8Array): Promise<Uint8Array>;
|
|
276
|
+
/**
|
|
277
|
+
* Unwraps (decrypts) a key with another key using AES-GCM
|
|
278
|
+
* Expects: nonce (12 bytes) + ciphertext as Uint8Array
|
|
279
|
+
*/
|
|
280
|
+
declare function unwrapKey(wrappedKey: Uint8Array, wrappingKey: Uint8Array): Promise<Uint8Array>;
|
|
270
281
|
/**
|
|
271
282
|
* Decrypts CRDT log data with the vault key
|
|
272
283
|
*/
|
|
@@ -276,4 +287,4 @@ declare function base64ToArrayBuffer(base64: string): Uint8Array;
|
|
|
276
287
|
|
|
277
288
|
declare function createHaexVaultClient(config?: HaexHubConfig): HaexVaultClient;
|
|
278
289
|
|
|
279
|
-
export { ExtensionManifest, HAEXSPACE_MESSAGE_TYPES, HAEXTENSION_METHODS, HaexHubConfig, HaexVaultClient, type HaexspaceMessageType, type HaextensionMethod, type VerifyResult, type ZipFileEntry, arrayBufferToBase64, base64ToArrayBuffer, createHaexVaultClient, decryptCrdtData, decryptString, decryptVaultKey, decryptVaultName, deriveKeyFromPassword, encryptCrdtData, encryptString, encryptVaultKey, generateVaultKey, hexToBytes, installBaseTag, installCookiePolyfill, installHistoryPolyfill, installLocalStoragePolyfill, installPolyfills, installSessionStoragePolyfill, sortObjectKeysRecursively, verifyExtensionSignature };
|
|
290
|
+
export { ExtensionManifest, HAEXSPACE_MESSAGE_TYPES, HAEXTENSION_METHODS, HaexHubConfig, HaexVaultClient, type HaexspaceMessageType, type HaextensionMethod, type VerifyResult, type ZipFileEntry, arrayBufferToBase64, base64ToArrayBuffer, createHaexVaultClient, decryptCrdtData, decryptString, decryptVaultKey, decryptVaultName, deriveKeyFromPassword, encryptCrdtData, encryptString, encryptVaultKey, generateVaultKey, hexToBytes, installBaseTag, installCookiePolyfill, installHistoryPolyfill, installLocalStoragePolyfill, installPolyfills, installSessionStoragePolyfill, sortObjectKeysRecursively, unwrapKey, verifyExtensionSignature, wrapKey };
|
package/dist/index.d.ts
CHANGED
|
@@ -267,6 +267,17 @@ declare function encryptCrdtData(data: object, vaultKey: Uint8Array): Promise<{
|
|
|
267
267
|
encryptedData: string;
|
|
268
268
|
nonce: string;
|
|
269
269
|
}>;
|
|
270
|
+
/**
|
|
271
|
+
* Wraps (encrypts) a key with another key using AES-GCM
|
|
272
|
+
* Used for key hierarchies (e.g., master key -> space key -> file key)
|
|
273
|
+
* Returns: nonce (12 bytes) + ciphertext as Uint8Array
|
|
274
|
+
*/
|
|
275
|
+
declare function wrapKey(keyToWrap: Uint8Array, wrappingKey: Uint8Array): Promise<Uint8Array>;
|
|
276
|
+
/**
|
|
277
|
+
* Unwraps (decrypts) a key with another key using AES-GCM
|
|
278
|
+
* Expects: nonce (12 bytes) + ciphertext as Uint8Array
|
|
279
|
+
*/
|
|
280
|
+
declare function unwrapKey(wrappedKey: Uint8Array, wrappingKey: Uint8Array): Promise<Uint8Array>;
|
|
270
281
|
/**
|
|
271
282
|
* Decrypts CRDT log data with the vault key
|
|
272
283
|
*/
|
|
@@ -276,4 +287,4 @@ declare function base64ToArrayBuffer(base64: string): Uint8Array;
|
|
|
276
287
|
|
|
277
288
|
declare function createHaexVaultClient(config?: HaexHubConfig): HaexVaultClient;
|
|
278
289
|
|
|
279
|
-
export { ExtensionManifest, HAEXSPACE_MESSAGE_TYPES, HAEXTENSION_METHODS, HaexHubConfig, HaexVaultClient, type HaexspaceMessageType, type HaextensionMethod, type VerifyResult, type ZipFileEntry, arrayBufferToBase64, base64ToArrayBuffer, createHaexVaultClient, decryptCrdtData, decryptString, decryptVaultKey, decryptVaultName, deriveKeyFromPassword, encryptCrdtData, encryptString, encryptVaultKey, generateVaultKey, hexToBytes, installBaseTag, installCookiePolyfill, installHistoryPolyfill, installLocalStoragePolyfill, installPolyfills, installSessionStoragePolyfill, sortObjectKeysRecursively, verifyExtensionSignature };
|
|
290
|
+
export { ExtensionManifest, HAEXSPACE_MESSAGE_TYPES, HAEXTENSION_METHODS, HaexHubConfig, HaexVaultClient, type HaexspaceMessageType, type HaextensionMethod, type VerifyResult, type ZipFileEntry, arrayBufferToBase64, base64ToArrayBuffer, createHaexVaultClient, decryptCrdtData, decryptString, decryptVaultKey, decryptVaultName, deriveKeyFromPassword, encryptCrdtData, encryptString, encryptVaultKey, generateVaultKey, hexToBytes, installBaseTag, installCookiePolyfill, installHistoryPolyfill, installLocalStoragePolyfill, installPolyfills, installSessionStoragePolyfill, sortObjectKeysRecursively, unwrapKey, verifyExtensionSignature, wrapKey };
|
package/dist/index.js
CHANGED
|
@@ -1980,6 +1980,42 @@ async function encryptCrdtData(data, vaultKey) {
|
|
|
1980
1980
|
nonce: arrayBufferToBase64(nonce)
|
|
1981
1981
|
};
|
|
1982
1982
|
}
|
|
1983
|
+
async function wrapKey(keyToWrap, wrappingKey) {
|
|
1984
|
+
const cryptoKey = await crypto.subtle.importKey(
|
|
1985
|
+
"raw",
|
|
1986
|
+
new Uint8Array(wrappingKey),
|
|
1987
|
+
{ name: ALGORITHM },
|
|
1988
|
+
false,
|
|
1989
|
+
["encrypt"]
|
|
1990
|
+
);
|
|
1991
|
+
const nonce = crypto.getRandomValues(new Uint8Array(12));
|
|
1992
|
+
const ciphertext = await crypto.subtle.encrypt(
|
|
1993
|
+
{ name: ALGORITHM, iv: nonce },
|
|
1994
|
+
cryptoKey,
|
|
1995
|
+
new Uint8Array(keyToWrap)
|
|
1996
|
+
);
|
|
1997
|
+
const result = new Uint8Array(12 + ciphertext.byteLength);
|
|
1998
|
+
result.set(nonce, 0);
|
|
1999
|
+
result.set(new Uint8Array(ciphertext), 12);
|
|
2000
|
+
return result;
|
|
2001
|
+
}
|
|
2002
|
+
async function unwrapKey(wrappedKey, wrappingKey) {
|
|
2003
|
+
const cryptoKey = await crypto.subtle.importKey(
|
|
2004
|
+
"raw",
|
|
2005
|
+
new Uint8Array(wrappingKey),
|
|
2006
|
+
{ name: ALGORITHM },
|
|
2007
|
+
false,
|
|
2008
|
+
["decrypt"]
|
|
2009
|
+
);
|
|
2010
|
+
const nonce = wrappedKey.slice(0, 12);
|
|
2011
|
+
const ciphertext = wrappedKey.slice(12);
|
|
2012
|
+
const plaintext = await crypto.subtle.decrypt(
|
|
2013
|
+
{ name: ALGORITHM, iv: nonce },
|
|
2014
|
+
cryptoKey,
|
|
2015
|
+
ciphertext
|
|
2016
|
+
);
|
|
2017
|
+
return new Uint8Array(plaintext);
|
|
2018
|
+
}
|
|
1983
2019
|
async function decryptCrdtData(encryptedData, nonce, vaultKey) {
|
|
1984
2020
|
const vaultKeyBuffer = new Uint8Array(vaultKey);
|
|
1985
2021
|
const cryptoKey = await crypto.subtle.importKey(
|
|
@@ -2071,6 +2107,8 @@ exports.installLocalStoragePolyfill = installLocalStoragePolyfill;
|
|
|
2071
2107
|
exports.installPolyfills = installPolyfills;
|
|
2072
2108
|
exports.installSessionStoragePolyfill = installSessionStoragePolyfill;
|
|
2073
2109
|
exports.sortObjectKeysRecursively = sortObjectKeysRecursively;
|
|
2110
|
+
exports.unwrapKey = unwrapKey;
|
|
2074
2111
|
exports.verifyExtensionSignature = verifyExtensionSignature;
|
|
2112
|
+
exports.wrapKey = wrapKey;
|
|
2075
2113
|
//# sourceMappingURL=index.js.map
|
|
2076
2114
|
//# sourceMappingURL=index.js.map
|