示例#1
0
文件: crypt.php 项目: samj1912/repo
 public function testDecryptPrivateKey()
 {
     // test successful decrypt
     $crypted = \OCA\Files_Encryption\Crypt::symmetricEncryptFileContent($this->genPrivateKey, 'hat');
     $header = \OCA\Files_Encryption\Crypt::generateHeader();
     $decrypted = \OCA\Files_Encryption\Crypt::decryptPrivateKey($header . $crypted, 'hat');
     $this->assertEquals($this->genPrivateKey, $decrypted);
     //test private key decrypt with wrong password
     $wrongPasswd = \OCA\Files_Encryption\Crypt::decryptPrivateKey($crypted, 'hat2');
     $this->assertEquals(false, $wrongPasswd);
 }
示例#2
0
 /**
  * write header at beginning of encrypted file
  *
  * @throws \OCA\Files_Encryption\Exception\EncryptionException
  */
 private function writeHeader()
 {
     $header = Crypt::generateHeader();
     if (strlen($header) > Crypt::BLOCKSIZE) {
         throw new EncryptionException('max header size exceeded', EncryptionException::ENCRYPTION_HEADER_TO_LARGE);
     }
     $paddedHeader = str_pad($header, Crypt::BLOCKSIZE, self::PADDING_CHAR, STR_PAD_RIGHT);
     fwrite($this->handle, $paddedHeader);
     $this->headerWritten = true;
 }
示例#3
0
 /**
  * @medium
  */
 function testSetPrivateSystemKey()
 {
     $key = "dummy key";
     $keyName = "myDummyKey";
     $encHeader = \OCA\Files_Encryption\Crypt::generateHeader();
     \OCA\Files_Encryption\Keymanager::setPrivateSystemKey($key, $keyName);
     $this->assertTrue($this->view->file_exists('/files_encryption/' . $keyName . '.privateKey'));
     $result = \OCA\Files_Encryption\Keymanager::getPrivateSystemKey($keyName);
     $this->assertSame($encHeader . $key, $result);
     // clean up
     $this->view->unlink('/files_encryption/' . $keyName . '.privateKey');
 }