@socialgouv/e2esdk-crypto
Advanced tools
@@ -123,4 +123,15 @@ import * as zod from 'zod'; | ||
}; | ||
declare function generateEncryptedFormLocalState(): Promise<EncryptedFormLocalState>; | ||
declare function initializeEncryptedFormLocalState(namespace: string): Promise<EncryptedFormLocalState>; | ||
/** | ||
* Generate form local state | ||
* @param formPublicKey The public key of the form to seal for | ||
* @returns A Promise to`EncryptedFormLocalState` to encrypt form datas | ||
*/ | ||
declare function generateEncryptedFormLocalState(formPublicKey?: Uint8Array): Promise<EncryptedFormLocalState>; | ||
/** | ||
* Initalize a form local state | ||
* @param namespace The form namespace | ||
* @param [formPublicKey] The public key of the form to seal for | ||
* @returns A Promise to `EncryptedFormLocalState` to encrypt form datas | ||
*/ | ||
declare function initializeEncryptedFormLocalState(namespace: string, formPublicKey?: Uint8Array): Promise<EncryptedFormLocalState>; | ||
declare function persistEncryptedFormLocalState(state: EncryptedFormLocalState, namespace: string): void; | ||
@@ -127,0 +138,0 @@ declare function clearEncryptedFormLocalState(namespace: string): void; |
@@ -455,4 +455,3 @@ import { sealedBoxCiphertextV1Schema, signatureSchema, thirtyTwoBytesBase64Schema, thirtyTwoBytesHexSchema, PayloadType } from '@socialgouv/e2esdk-api'; | ||
} | ||
async function generateEncryptedFormLocalState() { | ||
const formPublicKey = retrievePublicKeyFromURLHash(); | ||
async function generateEncryptedFormLocalState(formPublicKey = retrievePublicKeyFromURLHash()) { | ||
await sodium.ready; | ||
@@ -462,3 +461,3 @@ const mainSecret = sodium.crypto_kdf_keygen(); | ||
} | ||
async function initializeEncryptedFormLocalState(namespace) { | ||
async function initializeEncryptedFormLocalState(namespace, formPublicKey = retrievePublicKeyFromURLHash()) { | ||
checkEnvironmentIsBrowser(); | ||
@@ -474,3 +473,2 @@ try { | ||
const mainSecret = base64UrlDecode(serializedMainSecret); | ||
const formPublicKey = retrievePublicKeyFromURLHash(); | ||
return deriveState(sodium, mainSecret, formPublicKey); | ||
@@ -477,0 +475,0 @@ } catch { |
{ | ||
"name": "@socialgouv/e2esdk-crypto", | ||
"version": "1.0.0-beta.16", | ||
"version": "1.0.0-beta.17", | ||
"license": "Apache-2.0", | ||
@@ -5,0 +5,0 @@ "description": "Cryptographic constructs & algorithms for e2eSDK client & server", |
@@ -1,1 +0,1 @@ | ||
{"$schema":"https://raw.githubusercontent.com/47ng/sceau/main/src/schemas/v1.schema.json","signature":"d0cdcefbc509d76d1160175c2f79b711eb0c52f551e65745c13a3a326a21afb773f44ebf716e23355891e6cfa72fa721f79b45e3e48b185c9d47db701175b90d","publicKey":"82182691aa16fb18c4ee5f502f9067fe486768391d6ad5baa95e7a68913c9ad9","timestamp":"2023-04-12T10:09:08.984Z","sourceURL":"https://github.com/SocialGouv/e2esdk/tree/3c2c9935d1a0841134a62dbb2d914d5193c8ea8e","buildURL":"https://github.com/SocialGouv/e2esdk/actions/runs/4677069050","manifest":[{"path":"README.md","hash":"f2d230e662a801682445a06c153234d3fc76676b9dc8647c59afe5f028a677ce220eb1bd7ceb3ddb36a947dc347f988a77f39a1fbcdb2791923c6e4b779dba31","sizeBytes":181,"signature":"120c18d8695eae22a292f7ebb05aca5dcb44b4306195cd806fcff5d1208a44f613806e71cf9758a3b9ff79e35420d38b26e43f1cf5d178442141f565cd943106"},{"path":"dist/index.cjs","hash":"42fc327d39713dec0a4972983b53ce017a6db4a280bf5fb6b03b158a65184e59f1144e2176edfd0524990374eccad846ca5973a0c6762afb2e65fdb4e156e01e","sizeBytes":30519,"signature":"8a2cb25b8657e5d590830a125855081671c7be882a5866a5a4d6b6f47b681cce64a4ae0f55485091313256528911dbd4cf65c028b4a5fc76c5abc979e337240f"},{"path":"dist/index.d.ts","hash":"77069c83b3cb2129db2d1d1a7c8c39d953e15491f27cb3e97fa000ae8212677caab8a5ae728d8f338d65a3290581f2912aca8a633ec9efd2c2db30935e2175d8","sizeBytes":15074,"signature":"c9291053a0f58e0f3b1f1eb0dcebaec3003bc9a8c024a3c8221fbaa3abd42ef8b6351b69af70acb79005722b6003f2220690da57a2720cadfe9bbe38867cc700"},{"path":"dist/index.js","hash":"dbc7d699a23b3b8cc94c9565e234f2b56e07f8051def2ac293dca5bad0b6923058bd3fb952500ff6d579aa21e101c06d71a4abc51ab7e1bcad06d5d5ab202117","sizeBytes":28499,"signature":"bad7403002117ad3b9950c886e89d4e8ddee4725554744269ba11a13159950969e6e38fd71c3076f1253f9daae8e3ba66ea3a597b21e883bce2e6086a3e96506"},{"path":"package.json","hash":"fb622e21b357668b3c4032c4d600a74ed80296b65f9110692b6253739c0a46f871b5309b8f8070b31fdf1b7945936f2c2973e887dbefcca408eab29d0dd2b9f6","sizeBytes":1590,"signature":"67dd4bc8f4ca69986e9aa26b8904defcc2b4ad85ac7f47c7c298f84f3d04f4b9e6d5a484967ae29915e8ea275f6b1c0e158eaa6b65727cd029a683376c651f00"}]} | ||
{"$schema":"https://raw.githubusercontent.com/47ng/sceau/main/src/schemas/v1.schema.json","signature":"b27bc725f23c0e70c3b8f87e4e55fa63ac08525ea859632daec263e83c03dc52f844a3a9a2177b7103807fc4898bea356daf96460ec7d6572a80a25b65df9b0f","publicKey":"82182691aa16fb18c4ee5f502f9067fe486768391d6ad5baa95e7a68913c9ad9","timestamp":"2023-05-03T09:41:53.385Z","sourceURL":"https://github.com/SocialGouv/e2esdk/tree/98023fda3ce98e1b3c56bd743ba8c6cd8d37561b","buildURL":"https://github.com/SocialGouv/e2esdk/actions/runs/4870429071","manifest":[{"path":"README.md","hash":"f2d230e662a801682445a06c153234d3fc76676b9dc8647c59afe5f028a677ce220eb1bd7ceb3ddb36a947dc347f988a77f39a1fbcdb2791923c6e4b779dba31","sizeBytes":181,"signature":"120c18d8695eae22a292f7ebb05aca5dcb44b4306195cd806fcff5d1208a44f613806e71cf9758a3b9ff79e35420d38b26e43f1cf5d178442141f565cd943106"},{"path":"dist/index.cjs","hash":"4b1cc48c07c5739958248da89de5180363b4aa351de28e8701608a95baf11021932bb7d7fa78434d53478a1c1b71a06c7c1ae7dced42afa57b7b673622cddcd7","sizeBytes":30499,"signature":"5718b26736685139723bee6be10e0bf31d0d07df340d40edbded7b59714ef9eaa1cecf52ef2096727b9ce7a1d64f66fecb05d47b30c7854b8b43503112a13b08"},{"path":"dist/index.d.ts","hash":"9bc733b3d2a58ccd481aa400210856a7137eabbeadd4efda208bde4efa21e5359b31f06bdec973816d91a7e3f8cb35834886b2b74433ec4e1f6ca4617046e6bd","sizeBytes":15517,"signature":"39a74f42d95aeff046bf1774c95fc9dc69d2b952f29f015125e79a898f565774418daa814f31511f2f5d28c6fee3fdc0081c26b0dbbf3566bf8e092206aaed09"},{"path":"dist/index.js","hash":"f5323a4b75e7e147f5fa68024ebb9863d36b1a871ad319f6e67ec1c1ebd5b66b7181f01e7823f04f25d5258cf7ab848b6630462010c02896728b889ad6243af9","sizeBytes":28479,"signature":"7448f6d2f3b60389123d6200c99b614582214c0883453eaf5a29c04cc4271f2708a7d3aa51291cceaa94e590a38082ac345840ffe05604d911488779d3c5eb02"},{"path":"package.json","hash":"596fd927dba9b752c8d9f5e0e288f4c3357bc56445e4b2c3c97b997341b450e875b95c9c7d5c814f803c4553bf2582985a73224046fad75de3fdcb3e267789dd","sizeBytes":1590,"signature":"a806ea493087dca90f92a901823447a8d870bcc628c1a6e0f6ed1d10e9ffd6a00925ba96acc6b9dd1da688ec50823e571e1bf965b64eb7e87abecb0732054e03"}]} |
Sorry, the diff of this file is not supported yet
78416
0.52%2144
0.33%