diff options
Diffstat (limited to 'apps/files_encryption/lib')
-rwxr-xr-x | apps/files_encryption/lib/crypt.php | 4 | ||||
-rwxr-xr-x | apps/files_encryption/lib/helper.php | 15 |
2 files changed, 18 insertions, 1 deletions
diff --git a/apps/files_encryption/lib/crypt.php b/apps/files_encryption/lib/crypt.php index 6543a0de5f3..c3e88e5944e 100755 --- a/apps/files_encryption/lib/crypt.php +++ b/apps/files_encryption/lib/crypt.php @@ -57,7 +57,9 @@ class Crypt { if ($res === false) {
\OCP\Util::writeLog('Encryption library', 'couldn\'t generate users key-pair for ' . \OCP\User::getUser(), \OCP\Util::ERROR);
- \OCP\Util::writeLog('Encryption library', openssl_error_string(), \OCP\Util::ERROR);
+ while ($msg = openssl_error_string()) {
+ \OCP\Util::writeLog('Encryption library', 'openssl_pkey_new() fails: ' . $msg, \OCP\Util::ERROR);
+ }
} elseif (openssl_pkey_export($res, $privateKey)) {
// Get public key
$keyDetails = openssl_pkey_get_details($res);
diff --git a/apps/files_encryption/lib/helper.php b/apps/files_encryption/lib/helper.php index 6eee8fed6a6..b09c584c0b8 100755 --- a/apps/files_encryption/lib/helper.php +++ b/apps/files_encryption/lib/helper.php @@ -232,6 +232,21 @@ class Helper { return (bool) $result; } + + /** + * check some common errors if the server isn't configured properly for encryption + * @return bool true if configuration seems to be OK + */ + public static function checkConfiguration() { + if(openssl_pkey_new(array('private_key_bits' => 4096))) { + return true; + } else { + while ($msg = openssl_error_string()) { + \OCP\Util::writeLog('Encryption library', 'openssl_pkey_new() fails: ' . $msg, \OCP\Util::ERROR); + } + return false; + } + } /** * @brief glob uses different pattern than regular expressions, escape glob pattern only |