aboutsummaryrefslogtreecommitdiffstats
path: root/apps/files_external/lib/Lib/Auth/PublicKey/RSAPrivateKey.php
diff options
context:
space:
mode:
Diffstat (limited to 'apps/files_external/lib/Lib/Auth/PublicKey/RSAPrivateKey.php')
-rw-r--r--apps/files_external/lib/Lib/Auth/PublicKey/RSAPrivateKey.php45
1 files changed, 17 insertions, 28 deletions
diff --git a/apps/files_external/lib/Lib/Auth/PublicKey/RSAPrivateKey.php b/apps/files_external/lib/Lib/Auth/PublicKey/RSAPrivateKey.php
index 886d16965f4..8f58b71d5ac 100644
--- a/apps/files_external/lib/Lib/Auth/PublicKey/RSAPrivateKey.php
+++ b/apps/files_external/lib/Lib/Auth/PublicKey/RSAPrivateKey.php
@@ -1,24 +1,8 @@
<?php
+
/**
- * @copyright 2018, Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @author Roeland Jago Douma <roeland@famdouma.nl>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\Files_External\Lib\Auth\PublicKey;
@@ -35,18 +19,16 @@ use phpseclib\Crypt\RSA as RSACrypt;
*/
class RSAPrivateKey extends AuthMechanism {
- /** @var IConfig */
- private $config;
-
- public function __construct(IL10N $l, IConfig $config) {
- $this->config = $config;
-
+ public function __construct(
+ IL10N $l,
+ private IConfig $config,
+ ) {
$this
->setIdentifier('publickey::rsa_private')
->setScheme(self::SCHEME_PUBLICKEY)
->setText($l->t('RSA private key'))
->addParameters([
- new DefinitionParameter('user', $l->t('Username')),
+ new DefinitionParameter('user', $l->t('Login')),
(new DefinitionParameter('password', $l->t('Password')))
->setFlag(DefinitionParameter::FLAG_OPTIONAL)
->setType(DefinitionParameter::VALUE_PASSWORD),
@@ -54,11 +36,18 @@ class RSAPrivateKey extends AuthMechanism {
]);
}
- public function manipulateStorageConfig(StorageConfig &$storage, IUser $user = null) {
+ /**
+ * @return void
+ */
+ public function manipulateStorageConfig(StorageConfig &$storage, ?IUser $user = null) {
$auth = new RSACrypt();
$auth->setPassword($this->config->getSystemValue('secret', ''));
if (!$auth->loadKey($storage->getBackendOption('private_key'))) {
- throw new \RuntimeException('unable to load private key');
+ // Add fallback routine for a time where secret was not enforced to be exists
+ $auth->setPassword('');
+ if (!$auth->loadKey($storage->getBackendOption('private_key'))) {
+ throw new \RuntimeException('unable to load private key');
+ }
}
$storage->setBackendOption('public_key_auth', $auth);
}