return -1;
}
- ret = do_encrypt(cipher, iv, iv_len, sha256, EVP_CIPHER_key_length(cipher), NULL, 0, salt);
+ ret = do_encrypt(cipher, iv, iv_len, sha256, EVP_MD_size(EVP_sha256()), NULL, 0, salt);
if (ret != iv_len)
errmsg("Unable to compute ESSIV salt, return value %zi instead of %zi", ret, iv_len);
int ret;
unsigned char *new_key = xmalloc(FS_MAX_KEY_SIZE);
- ret = derive_key_aes(fctx->nonce, fscrypt_masterkey, FS_MAX_KEY_SIZE, new_key);
+ ret = derive_key_aes(fctx->nonce, fscrypt_masterkey, fscrypt_cipher->key_length, new_key);
if (ret < 0) {
err_msg("derive_key_aes failed: %i\n", ret);
return -1;
}
- keysize = read(kf, fscrypt_masterkey, sizeof(fscrypt_masterkey));
+ keysize = read(kf, fscrypt_masterkey, fsc->key_length);
if (keysize < 0) {
sys_errmsg("read '%s'", key_file);
goto fail;