From 4bbdcfbccfe1fef28d3b6feea8a742e156295a63 Mon Sep 17 00:00:00 2001 From: Bjoern Schiessle Date: Mon, 21 Jul 2014 13:02:28 +0200 Subject: support aes 256 --- apps/files_encryption/hooks/hooks.php | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) (limited to 'apps/files_encryption/hooks/hooks.php') diff --git a/apps/files_encryption/hooks/hooks.php b/apps/files_encryption/hooks/hooks.php index 943e7dfcf50..a62d0d413c9 100644 --- a/apps/files_encryption/hooks/hooks.php +++ b/apps/files_encryption/hooks/hooks.php @@ -193,10 +193,14 @@ class Hooks { $privateKey = $session->getPrivateKey(); // Encrypt private key with new user pwd as passphrase - $encryptedPrivateKey = Crypt::symmetricEncryptFileContent($privateKey, $params['password']); + $encryptedPrivateKey = Crypt::symmetricEncryptFileContent($privateKey, $params['password'], Helper::getCipher()); // Save private key - Keymanager::setPrivateKey($encryptedPrivateKey); + if ($encryptedPrivateKey) { + Keymanager::setPrivateKey($encryptedPrivateKey, \OCP\User::getUser()); + } else { + \OCP\Util::writeLog('files_encryption', 'Could not update users encryption password', \OCP\Util::ERROR); + } // NOTE: Session does not need to be updated as the // private key has not changed, only the passphrase @@ -231,16 +235,17 @@ class Hooks { // Save public key $view->file_put_contents('/public-keys/' . $user . '.public.key', $keypair['publicKey']); - // Encrypt private key empty passphrase - $encryptedPrivateKey = Crypt::symmetricEncryptFileContent($keypair['privateKey'], $newUserPassword); - - // Save private key - $view->file_put_contents( - '/' . $user . '/files_encryption/' . $user . '.private.key', $encryptedPrivateKey); - - if ($recoveryPassword) { // if recovery key is set we can re-encrypt the key files - $util = new Util($view, $user); - $util->recoverUsersFiles($recoveryPassword); + // Encrypt private key with new password + $encryptedKey = \OCA\Encryption\Crypt::symmetricEncryptFileContent($keypair['privateKey'], $newUserPassword, Helper::getCipher()); + if ($encryptedKey) { + Keymanager::setPrivateKey($encryptedKey, $user); + + if ($recoveryPassword) { // if recovery key is set we can re-encrypt the key files + $util = new Util($view, $user); + $util->recoverUsersFiles($recoveryPassword); + } + } else { + \OCP\Util::writeLog('files_encryption', 'Could not update users encryption password', \OCP\Util::ERROR); } \OC_FileProxy::$enabled = $proxyStatus; -- cgit v1.2.3