Merge pull request #3788 from owncloud/more_error_messages
add some more error messages, in case something went wrong
This commit is contained in:
commit
c4aa3fac7e
|
@ -51,21 +51,26 @@ class Crypt {
|
|||
*/
|
||||
public static function createKeypair() {
|
||||
|
||||
$return = false;
|
||||
|
||||
$res = openssl_pkey_new(array('private_key_bits' => 4096));
|
||||
|
||||
// Get private key
|
||||
openssl_pkey_export($res, $privateKey);
|
||||
if ($res === false) {
|
||||
\OCP\Util::writeLog('Encryption library', 'couldn\'t generate users key-pair for ' . \OCP\User::getUser(), \OCP\Util::ERROR);
|
||||
} elseif (openssl_pkey_export($res, $privateKey)) {
|
||||
// Get public key
|
||||
$publicKey = openssl_pkey_get_details($res);
|
||||
$publicKey = $publicKey['key'];
|
||||
|
||||
// Get public key
|
||||
$publicKey = openssl_pkey_get_details($res);
|
||||
|
||||
$publicKey = $publicKey['key'];
|
||||
|
||||
return (array(
|
||||
'publicKey' => $publicKey,
|
||||
'privateKey' => $privateKey
|
||||
));
|
||||
$return = array(
|
||||
'publicKey' => $publicKey,
|
||||
'privateKey' => $privateKey
|
||||
);
|
||||
} else {
|
||||
\OCP\Util::writeLog('Encryption library', 'couldn\'t export users private key, please check your servers openSSL configuration.' . \OCP\User::getUser(), \OCP\Util::ERROR);
|
||||
}
|
||||
|
||||
return $return;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -287,28 +292,22 @@ class Crypt {
|
|||
public static function symmetricEncryptFileContent($plainContent, $passphrase = '') {
|
||||
|
||||
if (!$plainContent) {
|
||||
|
||||
\OCP\Util::writeLog('Encryption library', 'symmetrically encryption failed, no content given.', \OCP\Util::ERROR);
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
$iv = self::generateIv();
|
||||
|
||||
if ($encryptedContent = self::encrypt($plainContent, $iv, $passphrase)) {
|
||||
|
||||
// Combine content to encrypt with IV identifier and actual IV
|
||||
$catfile = self::concatIv($encryptedContent, $iv);
|
||||
|
||||
$padded = self::addPadding($catfile);
|
||||
|
||||
return $padded;
|
||||
|
||||
} else {
|
||||
|
||||
\OCP\Util::writeLog('Encryption library', 'Encryption (symmetric) of keyfile content failed', \OCP\Util::ERROR);
|
||||
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -228,18 +228,21 @@ class Util {
|
|||
// Generate keypair
|
||||
$keypair = Crypt::createKeypair();
|
||||
|
||||
\OC_FileProxy::$enabled = false;
|
||||
if ($keypair) {
|
||||
|
||||
// Save public key
|
||||
$this->view->file_put_contents($this->publicKeyPath, $keypair['publicKey']);
|
||||
\OC_FileProxy::$enabled = false;
|
||||
|
||||
// Encrypt private key with user pwd as passphrase
|
||||
$encryptedPrivateKey = Crypt::symmetricEncryptFileContent($keypair['privateKey'], $passphrase);
|
||||
// Encrypt private key with user pwd as passphrase
|
||||
$encryptedPrivateKey = Crypt::symmetricEncryptFileContent($keypair['privateKey'], $passphrase);
|
||||
|
||||
// Save private key
|
||||
$this->view->file_put_contents($this->privateKeyPath, $encryptedPrivateKey);
|
||||
// Save key-pair
|
||||
if ($encryptedPrivateKey) {
|
||||
$this->view->file_put_contents($this->privateKeyPath, $encryptedPrivateKey);
|
||||
$this->view->file_put_contents($this->publicKeyPath, $keypair['publicKey']);
|
||||
}
|
||||
|
||||
\OC_FileProxy::$enabled = true;
|
||||
\OC_FileProxy::$enabled = true;
|
||||
}
|
||||
|
||||
} else {
|
||||
// check if public-key exists but private-key is missing
|
||||
|
|
Loading…
Reference in New Issue