Esempio n. 1
0
 /**
  * write private system key (recovery and public share key) to disk
  *
  * @param string $key encrypted key
  * @param string $keyName name of the key
  * @return boolean
  */
 public static function setPrivateSystemKey($key, $keyName)
 {
     $keyName = $keyName . '.privateKey';
     $header = Crypt::generateHeader();
     return self::setKey(self::$encryption_base_dir, $keyName, $header . $key, new \OC\Files\View());
 }
Esempio n. 2
0
 /**
  * write private system key (recovery and public share key) to disk
  *
  * @param string $key encrypted key
  * @param string $keyName name of the key file
  * @return boolean
  */
 public static function setPrivateSystemKey($key, $keyName)
 {
     $header = Crypt::generateHeader();
     $view = new \OC\Files\View('/owncloud_private_key');
     $proxyStatus = \OC_FileProxy::$enabled;
     \OC_FileProxy::$enabled = false;
     if (!$view->file_exists('')) {
         $view->mkdir('');
     }
     $result = $view->file_put_contents($keyName, $header . $key);
     \OC_FileProxy::$enabled = $proxyStatus;
     return $result;
 }
Esempio n. 3
0
 /**
  * write header at beginning of encrypted file
  *
  * @throws Exceptions\EncryptionException
  */
 private function writeHeader()
 {
     $header = Crypt::generateHeader();
     if (strlen($header) > Crypt::BLOCKSIZE) {
         throw new Exceptions\EncryptionException('max header size exceeded', 30);
     }
     $paddedHeader = str_pad($header, Crypt::BLOCKSIZE, self::PADDING_CHAR, STR_PAD_RIGHT);
     fwrite($this->handle, $paddedHeader);
     $this->headerWritten = true;
 }