Force run the verification of the signature on occ
Signed-off-by: Joas Schilling <coding@schilljs.com>
This commit is contained in:
parent
6d291c3c19
commit
f319660f60
|
@ -70,7 +70,7 @@ class CheckApp extends Base {
|
||||||
protected function execute(InputInterface $input, OutputInterface $output): int {
|
protected function execute(InputInterface $input, OutputInterface $output): int {
|
||||||
$appid = $input->getArgument('appid');
|
$appid = $input->getArgument('appid');
|
||||||
$path = (string)$input->getOption('path');
|
$path = (string)$input->getOption('path');
|
||||||
$result = $this->checker->verifyAppSignature($appid, $path);
|
$result = $this->checker->verifyAppSignature($appid, $path, true);
|
||||||
$this->writeArrayInOutputFormat($input, $output, $result);
|
$this->writeArrayInOutputFormat($input, $output, $result);
|
||||||
if (count($result) > 0) {
|
if (count($result) > 0) {
|
||||||
return 1;
|
return 1;
|
||||||
|
|
|
@ -311,12 +311,13 @@ class Checker {
|
||||||
* @param string $signaturePath
|
* @param string $signaturePath
|
||||||
* @param string $basePath
|
* @param string $basePath
|
||||||
* @param string $certificateCN
|
* @param string $certificateCN
|
||||||
|
* @param bool $forceVerify
|
||||||
* @return array
|
* @return array
|
||||||
* @throws InvalidSignatureException
|
* @throws InvalidSignatureException
|
||||||
* @throws \Exception
|
* @throws \Exception
|
||||||
*/
|
*/
|
||||||
private function verify(string $signaturePath, string $basePath, string $certificateCN): array {
|
private function verify(string $signaturePath, string $basePath, string $certificateCN, bool $forceVerify = false): array {
|
||||||
if (!$this->isCodeCheckEnforced()) {
|
if (!$forceVerify && !$this->isCodeCheckEnforced()) {
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -495,9 +496,10 @@ class Checker {
|
||||||
*
|
*
|
||||||
* @param string $appId
|
* @param string $appId
|
||||||
* @param string $path Optional path. If none is given it will be guessed.
|
* @param string $path Optional path. If none is given it will be guessed.
|
||||||
|
* @param bool $forceVerify
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
public function verifyAppSignature(string $appId, string $path = ''): array {
|
public function verifyAppSignature(string $appId, string $path = '', bool $forceVerify = false): array {
|
||||||
try {
|
try {
|
||||||
if ($path === '') {
|
if ($path === '') {
|
||||||
$path = $this->appLocator->getAppPath($appId);
|
$path = $this->appLocator->getAppPath($appId);
|
||||||
|
@ -505,7 +507,8 @@ class Checker {
|
||||||
$result = $this->verify(
|
$result = $this->verify(
|
||||||
$path . '/appinfo/signature.json',
|
$path . '/appinfo/signature.json',
|
||||||
$path,
|
$path,
|
||||||
$appId
|
$appId,
|
||||||
|
$forceVerify
|
||||||
);
|
);
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
$result = [
|
$result = [
|
||||||
|
|
Loading…
Reference in New Issue