Skip to content

Commit 71bb8cc

Browse files
authored
only check magic string when encrypt function is open (#16292)
1 parent ea19516 commit 71bb8cc

1 file changed

Lines changed: 20 additions & 20 deletions

File tree

iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/IoTDBStartCheck.java

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -382,37 +382,37 @@ public void generateOrOverwriteSystemPropertiesFile() throws IOException {
382382
}
383383

384384
public void checkEncryptMagicString() throws IOException, ConfigurationException {
385-
properties = systemPropertiesHandler.read();
386-
CommonDescriptor.getInstance()
387-
.getConfig()
388-
.setUserEncryptTokenHint(properties.getProperty(ENCRYPT_TOKEN_HINT));
389-
String encryptSalt = properties.getProperty(ENCRYPT_SALT);
390-
byte[] saltBytes = EncryptUtils.hexStringToByteArray(encryptSalt);
391-
TSFileDescriptor.getInstance().getConfig().setEncryptSalt(saltBytes);
392-
393385
if (!Objects.equals(TSFileDescriptor.getInstance().getConfig().getEncryptType(), "UNENCRYPTED")
394386
&& !Objects.equals(
395387
TSFileDescriptor.getInstance().getConfig().getEncryptType(),
396388
"org.apache.tsfile.encrypt.UNENCRYPTED")) {
389+
properties = systemPropertiesHandler.read();
390+
CommonDescriptor.getInstance()
391+
.getConfig()
392+
.setUserEncryptTokenHint(properties.getProperty(ENCRYPT_TOKEN_HINT));
393+
String encryptSalt = properties.getProperty(ENCRYPT_SALT);
394+
byte[] saltBytes = EncryptUtils.hexStringToByteArray(encryptSalt);
395+
TSFileDescriptor.getInstance().getConfig().setEncryptSalt(saltBytes);
396+
397397
String token = System.getenv("user_encrypt_token");
398398
if (token == null || token.trim().isEmpty()) {
399399
throw new EncryptException(
400400
"restart system after not storing key, but user_encrypt_token is not set. Please set it in the environment variable before restart. Here is your token hint info: "
401401
+ CommonDescriptor.getInstance().getConfig().getUserEncryptTokenHint());
402402
}
403403
TSFileDescriptor.getInstance().getConfig().setEncryptKeyFromToken(token);
404-
}
405-
String encryptMagicString = properties.getProperty(ENCRYPT_MAGIC_STRING);
406-
byte[] magicStringBytes = EncryptUtils.hexStringToByteArray(encryptMagicString);
407-
String decryptedMagicString =
408-
new String(
409-
EncryptUtils.getEncrypt().getDecryptor().decrypt(magicStringBytes),
410-
TSFileConfig.STRING_CHARSET);
411-
if (!Objects.equals(decryptedMagicString, magicString)) {
412-
logger.error("encrypt_magic_string is not matched");
413-
throw new ConfigurationException(
414-
"Changing encrypt type or key for tsfile encryption after first start is not permitted. Here is your token hint info: "
415-
+ CommonDescriptor.getInstance().getConfig().getUserEncryptTokenHint());
404+
String encryptMagicString = properties.getProperty(ENCRYPT_MAGIC_STRING);
405+
byte[] magicStringBytes = EncryptUtils.hexStringToByteArray(encryptMagicString);
406+
String decryptedMagicString =
407+
new String(
408+
EncryptUtils.getEncrypt().getDecryptor().decrypt(magicStringBytes),
409+
TSFileConfig.STRING_CHARSET);
410+
if (!Objects.equals(decryptedMagicString, magicString)) {
411+
logger.error("encrypt_magic_string is not matched");
412+
throw new ConfigurationException(
413+
"Changing encrypt type or key for tsfile encryption after first start is not permitted. Here is your token hint info: "
414+
+ CommonDescriptor.getInstance().getConfig().getUserEncryptTokenHint());
415+
}
416416
}
417417
}
418418
}

0 commit comments

Comments
 (0)