// TODO: Use DI to get \OC\Files\Filesystem out of here\r
\r
// Fetch all file metadata from DB\r
- $metadata = \OC\Files\Filesystem::getFileInfo( $path, '' );\r
+ $metadata = \OC\Files\Filesystem::getFileInfo( $path);\r
\r
// Return encryption status\r
return isset( $metadata['encrypted'] ) and ( bool )$metadata['encrypted'];\r
}\r
\r
/**\r
- * @brief Symmetrically encrypt a file by combining encrypted component data blocks\r
- */\r
- public static function symmetricBlockEncryptFileContent( $plainContent, $key ) {\r
- \r
- $crypted = '';\r
- \r
- $remaining = $plainContent;\r
- \r
- $testarray = array();\r
- \r
- while( strlen( $remaining ) ) {\r
- \r
- //echo "\n\n\$block = ".substr( $remaining, 0, 6126 );\r
- \r
- // Encrypt a chunk of unencrypted data and add it to the rest\r
- $block = self::symmetricEncryptFileContent( substr( $remaining, 0, 6126 ), $key );\r
- \r
- $padded = self::addPadding( $block );\r
- \r
- $crypted .= $block;\r
- \r
- $testarray[] = $block;\r
- \r
- // Remove the data already encrypted from remaining unencrypted data\r
- $remaining = substr( $remaining, 6126 );\r
- \r
- }\r
- \r
- //echo "hags ";\r
- \r
- //echo "\n\n\n\$crypted = $crypted\n\n\n";\r
- \r
- //print_r($testarray);\r
- \r
- return $crypted;\r
-\r
- }\r
-\r
-\r
- /**\r
- * @brief Symmetrically decrypt a file by combining encrypted component data blocks\r
- */\r
- public static function symmetricBlockDecryptFileContent( $crypted, $key ) {\r
- \r
- $decrypted = '';\r
- \r
- $remaining = $crypted;\r
- \r
- $testarray = array();\r
- \r
- while( strlen( $remaining ) ) {\r
- \r
- $testarray[] = substr( $remaining, 0, 8192 );\r
- \r
- // Decrypt a chunk of unencrypted data and add it to the rest\r
- $decrypted .= self::symmetricDecryptFileContent( $remaining, $key );\r
- \r
- // Remove the data already encrypted from remaining unencrypted data\r
- $remaining = substr( $remaining, 8192 );\r
- \r
- }\r
- \r
- //echo "\n\n\$testarray = "; print_r($testarray);\r
- \r
- return $decrypted;\r
- \r
- }\r
- \r
- /**\r
- * @brief Generates a pseudo random initialisation vector\r
- * @return String $iv generated IV\r
- */\r
+ * @brief Generates a pseudo random initialisation vector\r
+ * @return String $iv generated IV\r
+ */\r
public static function generateIv() {\r
\r
if ( $random = openssl_random_pseudo_bytes( 12, $strong ) ) {\r
\r
}\r
\r
- /**\r
- * @brief Generate a pseudo random 1024kb ASCII key\r
- * @returns $key Generated key\r
- */\r
+ /**\r
+ * @brief Generate a pseudo random 1024kb ASCII key\r
+ * @returns $key Generated key\r
+ */\r
public static function generateKey() {\r
\r
// Generate key\r
\r
}\r
\r
- public static function changekeypasscode( $oldPassword, $newPassword ) {\r
-\r
- if ( \OCP\User::isLoggedIn() ) {\r
- \r
- $key = Keymanager::getPrivateKey( $user, $view );\r
- \r
- if ( ( $key = Crypt::symmetricDecryptFileContent($key,$oldpasswd) ) ) {\r
- \r
- if ( ( $key = Crypt::symmetricEncryptFileContent( $key, $newpasswd ) ) ) {\r
- \r
- Keymanager::setPrivateKey( $key );\r
- \r
- return true;\r
- }\r
- \r
- }\r
- \r
- }\r
- \r
- return false;\r
- \r
- }\r
- \r
/**\r
* @brief Get the blowfish encryption handeler for a key\r
* @param $key string (optional)\r
return array( 'data' => $cryptedData['encrypted'], 'filekey' => $multiEncrypted['data'], 'sharekeys' => $multiEncrypted['keys'] );\r
\r
}\r
- \r
- /**\r
- * @brief Re-encryptes a legacy blowfish encrypted file using AES with integrated IV\r
- * @param $legacyContent the legacy encrypted content to re-encrypt\r
- * @returns cleartext content\r
- *\r
- * This function decrypts an content\r
- */\r
- public static function legacyRecrypt( $legacyContent, $legacyPassphrase, $newPassphrase ) {\r
- \r
- // TODO: write me\r
- \r
- }\r
- \r
+\r
}
\ No newline at end of file