diff --git a/lib/private/Http/Client/Client.php b/lib/private/Http/Client/Client.php index c0b05c48b9..d19f1124a2 100644 --- a/lib/private/Http/Client/Client.php +++ b/lib/private/Http/Client/Client.php @@ -93,18 +93,18 @@ class Client implements IClient { } private function getCertBundle(): string { + if ($this->certificateManager->listCertificates() !== []) { + return $this->certificateManager->getAbsoluteBundlePath(); + } + // If the instance is not yet setup we need to use the static path as // $this->certificateManager->getAbsoluteBundlePath() tries to instantiiate // a view - if ($this->config->getSystemValue('installed', false) === false) { - return \OC::$SERVERROOT . '/resources/config/ca-bundle.crt'; + if ($this->config->getSystemValue('installed', false)) { + return $this->certificateManager->getAbsoluteBundlePath(null); } - if ($this->certificateManager->listCertificates() === []) { - return \OC::$SERVERROOT . '/resources/config/ca-bundle.crt'; - } - - return $this->certificateManager->getAbsoluteBundlePath(); + return \OC::$SERVERROOT . '/resources/config/ca-bundle.crt'; } /** diff --git a/tests/lib/Http/Client/ClientTest.php b/tests/lib/Http/Client/ClientTest.php index bd9cab023f..b136a0ca30 100644 --- a/tests/lib/Http/Client/ClientTest.php +++ b/tests/lib/Http/Client/ClientTest.php @@ -460,8 +460,9 @@ class ClientTest extends \Test\TestCase { ->with('installed', false) ->willReturn(false); $this->certificateManager - ->expects($this->never()) - ->method('listCertificates'); + ->expects($this->once()) + ->method('listCertificates') + ->willReturn([]); $this->assertEquals([ 'verify' => \OC::$SERVERROOT . '/resources/config/ca-bundle.crt',