diff options
Diffstat (limited to 'src/Volume/VolumeHeader.cpp')
-rw-r--r-- | src/Volume/VolumeHeader.cpp | 23 |
1 files changed, 5 insertions, 18 deletions
diff --git a/src/Volume/VolumeHeader.cpp b/src/Volume/VolumeHeader.cpp index faed1fcb..d8527ed5 100644 --- a/src/Volume/VolumeHeader.cpp +++ b/src/Volume/VolumeHeader.cpp @@ -82,7 +82,7 @@ namespace VeraCrypt EncryptNew (headerBuffer, options.Salt, options.HeaderKey, options.Kdf); } - bool VolumeHeader::Decrypt (const ConstBufferPtr &encryptedData, const VolumePassword &password, int pim, shared_ptr <Pkcs5Kdf> kdf, bool truecryptMode, const Pkcs5KdfList &keyDerivationFunctions, const EncryptionAlgorithmList &encryptionAlgorithms, const EncryptionModeList &encryptionModes) + bool VolumeHeader::Decrypt (const ConstBufferPtr &encryptedData, const VolumePassword &password, int pim, shared_ptr <Pkcs5Kdf> kdf, const Pkcs5KdfList &keyDerivationFunctions, const EncryptionAlgorithmList &encryptionAlgorithms, const EncryptionModeList &encryptionModes) { if (password.Size() < 1) throw PasswordEmpty (SRC_POS); @@ -125,7 +125,7 @@ namespace VeraCrypt header.CopyFrom (encryptedData.GetRange (EncryptedHeaderDataOffset, EncryptedHeaderDataSize)); ea->Decrypt (header); - if (Deserialize (header, ea, mode, truecryptMode)) + if (Deserialize (header, ea, mode)) { EA = ea; Pkcs5 = pkcs5; @@ -138,18 +138,12 @@ namespace VeraCrypt return false; } - bool VolumeHeader::Deserialize (const ConstBufferPtr &header, shared_ptr <EncryptionAlgorithm> &ea, shared_ptr <EncryptionMode> &mode, bool truecryptMode) + bool VolumeHeader::Deserialize (const ConstBufferPtr &header, shared_ptr <EncryptionAlgorithm> &ea, shared_ptr <EncryptionMode> &mode) { if (header.Size() != EncryptedHeaderDataSize) throw ParameterIncorrect (SRC_POS); - if (truecryptMode && (header[0] != 'T' || - header[1] != 'R' || - header[2] != 'U' || - header[3] != 'E')) - return false; - - if (!truecryptMode && (header[0] != 'V' || + if ((header[0] != 'V' || header[1] != 'E' || header[2] != 'R' || header[3] != 'A')) @@ -173,16 +167,9 @@ namespace VeraCrypt RequiredMinProgramVersion = DeserializeEntry <uint16> (header, offset); - if (!truecryptMode && (RequiredMinProgramVersion > Version::Number())) + if ((RequiredMinProgramVersion > Version::Number())) throw HigherVersionRequired (SRC_POS); - if (truecryptMode) - { - if (RequiredMinProgramVersion < 0x600 || RequiredMinProgramVersion > 0x71a) - throw UnsupportedTrueCryptFormat (SRC_POS); - RequiredMinProgramVersion = CurrentRequiredMinProgramVersion; - } - VolumeKeyAreaCrc32 = DeserializeEntry <uint32> (header, offset); VolumeCreationTime = DeserializeEntry <uint64> (header, offset); HeaderCreationTime = DeserializeEntry <uint64> (header, offset); |