@@ -3,26 +3,49 @@ if ! hash sha256sum &>/dev/null ; then
3
3
exit 1
4
4
fi
5
5
6
- if [ ! -f " $project_root " /secrets.json ] ; then
7
- echo ' secrets.json is missing' >&2
6
+ if [ ! -f " $project_root " /secrets.json.scrypt ] ; then
7
+ echo ' secrets.json.scrypt is missing' >&2
8
8
exit 1
9
9
fi
10
10
11
11
declare secrets_permissions
12
- secrets_permissions=" $( ls -l " $project_root " /secrets.json) "
12
+ secrets_permissions=" $( ls -l " $project_root " /secrets.json.scrypt ) "
13
13
secrets_permissions=" ${secrets_permissions:: 10} "
14
14
declare -r secrets_permissions
15
15
if [[ $secrets_permissions != ' -rw-------' ]] ; then
16
- echo ' secrets.json permissions too lax' >&2
17
- echo ' run: chmod 600 secrets.json' >&2
16
+ echo ' secrets.json.scrypt permissions too lax' >&2
17
+ echo ' run: chmod 600 secrets.json.scrypt ' >&2
18
18
exit 1
19
19
fi
20
20
21
- if ! sha256sum -c <<< ' bb82de121880f1182dbae410b341749e5ac1355954ae6c03151a1826e7bba745 secrets.json' > /dev/null ; then
22
- echo ' Secrets are wrong ' >&2
21
+ if [ -f " $project_root " / secrets.json ] ; then
22
+ echo ' secrets.json exists, remove it - will use secrets.json.scrypt only ' >&2
23
23
exit 1
24
24
fi
25
25
26
+ declare secrets_storage
27
+
28
+ function decrypt_secrets {
29
+ local password
30
+ echo ' Enter passphrase for secrets.json.scrypt'
31
+ local decrypted
32
+ decrypted=" $( scrypt dec " $project_root " /secrets.json.scrypt) "
33
+ if [ $? -ne 0 ]; then
34
+ echo " Failed to decrypt secrets.json.scrypt" >&2
35
+ exit 1
36
+ fi
37
+
38
+ # 24290900be9575d1fb6349098b1c11615a2eac8091bc486bec6cf67239b7846a previous version prior to allowanceHolderLondon
39
+ if ! echo " $decrypted " | sha256sum | grep -q " ^bb82de121880f1182dbae410b341749e5ac1355954ae6c03151a1826e7bba745" ; then
40
+ echo " Decrypted secrets.json hash verification failed" >&2
41
+ exit 1
42
+ fi
43
+ secrets_storage=" $decrypted "
44
+ }
45
+
26
46
function get_secret {
27
- jq -Mr ." $1 " ." $2 " < " $project_root " /secrets.json
47
+ if [ -z " $secrets_storage " ]; then
48
+ decrypt_secrets
49
+ fi
50
+ jq -Mr ." $1 " ." $2 " <<< " $secrets_storage"
28
51
}
0 commit comments