|
@@ -68,14 +68,14 @@ async function reEncryptTokensInCollection({
|
|
|
for (const [name, path] of Object.entries(paths)) {
|
|
for (const [name, path] of Object.entries(paths)) {
|
|
|
const blob = _.get(doc, path)
|
|
const blob = _.get(doc, path)
|
|
|
if (!blob) continue
|
|
if (!blob) continue
|
|
|
- // Schema: LABEL:SALT:CIPHERTEXT:IV
|
|
|
|
|
- const [label, , , iv] = blob.split(':', 4)
|
|
|
|
|
- const version = iv ? 'v2' : 'v1'
|
|
|
|
|
|
|
+ // Schema: LABEL-VERSION:SALT:CIPHERTEXT:IV
|
|
|
|
|
+ const [label] = blob.split(':')
|
|
|
|
|
+ const [, version] = label.split('-')
|
|
|
|
|
|
|
|
const key = [name, version, collectionName, path, label].join(':')
|
|
const key = [name, version, collectionName, path, label].join(':')
|
|
|
stats[key] = (stats[key] || 0) + 1
|
|
stats[key] = (stats[key] || 0) + 1
|
|
|
|
|
|
|
|
- if (version === 'v1') {
|
|
|
|
|
|
|
+ if (version === 'v2') {
|
|
|
update = update || {}
|
|
update = update || {}
|
|
|
update[path] = await reEncryptTokens(accessTokenEncryptor, blob)
|
|
update[path] = await reEncryptTokens(accessTokenEncryptor, blob)
|
|
|
}
|
|
}
|