diff --git a/javascript/src/constants/secrets.js b/javascript/src/constants/secrets.js new file mode 100644 index 0000000000000000000000000000000000000000..d4adfa2e72594e0c5f44803d9ccb07bf170d8f11 --- /dev/null +++ b/javascript/src/constants/secrets.js @@ -0,0 +1 @@ +export const RECOMMENDED_TRUSTEES = 3; diff --git a/javascript/src/iframe/viamapi-iframe.js b/javascript/src/iframe/viamapi-iframe.js index db5cea18791e60d3c89f2ef92ee92fc46480e0e3..cb52e6ccd61038ddc58606ed0536068e89f576cb 100644 --- a/javascript/src/iframe/viamapi-iframe.js +++ b/javascript/src/iframe/viamapi-iframe.js @@ -47,6 +47,7 @@ import { checkRecoveryKeyCombine, encryptShare } from "../utilities/secrets"; +import { RECOMMENDED_TRUSTEES } from "../constants/secrets"; const penpalMethods = require("../../temp/penpal-methods").default; const WopiAPI = require("./wopiapi-iframe"); @@ -1070,7 +1071,8 @@ const connection = Penpal.connectToParent({ const sharesNumber = trusteesUuids.length; const recoveryKey = generateRecoveryKey(); let recoveryKeyShares = [recoveryKey]; - if (sharesNumber > 1) { + // Split the secret when sharesNumber is at least RECOMMENDED_TRUSTEES + 1 because VereignPublicKey is always returned + if (sharesNumber >= RECOMMENDED_TRUSTEES + 1) { recoveryKeyShares = getRecoveryKeyShares(recoveryKey, sharesNumber); const sanityCheckResponse = checkRecoveryKeyCombine(