{
MessageBuffer buffer;
buffer.Push(RawBuffer(packed));
- int encryptionScheme = 0;
+ int encryptionScheme = EncryptionScheme::NONE;
RawBuffer data;
buffer.Deserialize(encryptionScheme, data);
- if (encryptionScheme == 0)
+ if (encryptionScheme == EncryptionScheme::NONE) {
+ if (!pass.empty())
+ ThrowErr(Exc::AuthenticationFailed, "Unexpected custom password.");
return data;
+ }
MessageBuffer internalBuffer;
internalBuffer.Push(std::move(data));
* AES GCM will check data integrity and handle cases where:
* - wrong password is used
* - password is empty when it shouldn't be
- * - password is not empty when it should be
*/
RawBuffer key = passwordToKey(pass, iv, Params::DERIVED_KEY_LENGTH);