SCons: Abort if SCRIPT_AES256_ENCRYPTION_KEY is invalid
Helps users figure out that something is wrong if they did define this environment variable and it turns out being ignored.
This commit is contained in:
parent
99626d5b57
commit
08b4383e3f
17
core/SCsub
17
core/SCsub
@ -12,25 +12,28 @@ import os
|
|||||||
|
|
||||||
txt = "0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0"
|
txt = "0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0"
|
||||||
if "SCRIPT_AES256_ENCRYPTION_KEY" in os.environ:
|
if "SCRIPT_AES256_ENCRYPTION_KEY" in os.environ:
|
||||||
e = os.environ["SCRIPT_AES256_ENCRYPTION_KEY"]
|
key = os.environ["SCRIPT_AES256_ENCRYPTION_KEY"]
|
||||||
txt = ""
|
|
||||||
ec_valid = True
|
ec_valid = True
|
||||||
if len(e) != 64:
|
if len(key) != 64:
|
||||||
ec_valid = False
|
ec_valid = False
|
||||||
else:
|
else:
|
||||||
|
txt = ""
|
||||||
for i in range(len(e) >> 1):
|
for i in range(len(e) >> 1):
|
||||||
if i > 0:
|
if i > 0:
|
||||||
txt += ","
|
txt += ","
|
||||||
txts = "0x" + e[i * 2 : i * 2 + 2]
|
txts = "0x" + key[i * 2 : i * 2 + 2]
|
||||||
try:
|
try:
|
||||||
int(txts, 16)
|
int(txts, 16)
|
||||||
except Exception:
|
except Exception:
|
||||||
ec_valid = False
|
ec_valid = False
|
||||||
txt += txts
|
txt += txts
|
||||||
if not ec_valid:
|
if not ec_valid:
|
||||||
txt = "0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0"
|
print("Error: Invalid AES256 encryption key, not 64 hexadecimal characters: '" + key + "'.")
|
||||||
print("Invalid AES256 encryption key, not 64 bits hex: " + e)
|
print(
|
||||||
|
"Unset 'SCRIPT_AES256_ENCRYPTION_KEY' in your environment "
|
||||||
|
"or make sure that it contains exactly 64 hexadecimal characters."
|
||||||
|
)
|
||||||
|
Exit(255)
|
||||||
|
|
||||||
# NOTE: It is safe to generate this file here, since this is still executed serially
|
# NOTE: It is safe to generate this file here, since this is still executed serially
|
||||||
with open("script_encryption_key.gen.cpp", "w") as f:
|
with open("script_encryption_key.gen.cpp", "w") as f:
|
||||||
|
Loading…
Reference in New Issue
Block a user