// Fetch existing keyfile
$this->encKeyfile = Keymanager::getFileKey( $this->rootView, $this->userId, $this->relPath );
- $this->getUser();
+ $this->setUserProperty();
$session = new Session( $this->rootView );
$privateKey = $session->getPrivateKey( $this->userId );
- $this->keyfile = Crypt::keyDecrypt( $this->encKeyfile, $privateKey );
+ $shareKey = Keymanager::getShareKey( $this->rootView, $this->userId, $this->relPath );
+
+ $this->keyfile = Crypt::multiKeyDecrypt( $this->encKeyfile, $shareKey, $privateKey );
return true;
}
- public function getuser() {
+ public function setUserProperty() {
// Only get the user again if it isn't already set
if ( empty( $this->userId ) ) {