mirror of
https://github.com/LibreSign/libresign.git
synced 2025-12-18 05:20:45 +01:00
32 lines
1 KiB
PHP
32 lines
1 KiB
PHP
<?php
|
|
|
|
namespace OCA\Signer\Service;
|
|
|
|
use OCA\Signer\Handler\JSignerHandler;
|
|
use OCA\Signer\Storage\ClientStorage;
|
|
|
|
class SignerService
|
|
{
|
|
/** @var JSignerHandler */
|
|
private $signerHandler;
|
|
|
|
/** @var ClientStorage */
|
|
private $clientStorage;
|
|
|
|
public function __construct(JSignerHandler $signerHandler, ClientStorage $clientStorage)
|
|
{
|
|
$this->signerHandler = $signerHandler;
|
|
$this->clientStorage = $clientStorage;
|
|
}
|
|
|
|
public function sign(string $inputFilePath, string $outputFolderPath, string $certificatePath, string $password){
|
|
$file = $this->clientStorage->getFile($inputFilePath);
|
|
$certificate = $this->clientStorage->getFile($certificatePath);
|
|
|
|
list($filename, $content) = $this->signerHandler->signExistingFile($file, $certificate, $password);
|
|
$folder = $this->clientStorage->createFolder($outputFolderPath);
|
|
$certificateFile = $this->clientStorage->saveFile($filename, $content, $folder);
|
|
|
|
return $certificateFile;
|
|
}
|
|
}
|