PHP code example of setasign / setapdf-signer-addon-ovhcloud-kms

1. Go to this page and download the library: Download setasign/setapdf-signer-addon-ovhcloud-kms library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

setasign / setapdf-signer-addon-ovhcloud-kms example snippets


use setasign\SetaPDF\Signer\Module\OVHcloudKMS\Client;

$httpClient = new GuzzleHttp\Client([
    'cert' => '/path/to/your/mtls/certficate.pem',
    'ssl_key' => '/path/to/your/mtls/privatekey.pem',
]);

$requestFactory = new Http\Factory\Guzzle\RequestFactory();
$streamFactory = new Http\Factory\Guzzle\StreamFactory();

$client = new Client(
    '<your-api-url>',
    '<your-okms-id>',
    $httpClient,
    $requestFactory,
    $streamFactory
);

use setasign\SetaPDF\Signer\Module\OVHcloudKMS\Module;

$module = new Module($client);

$module->setKeyId('dbbd1a34-9f69-4aef-8600-0627da52a4cb');

use setasign\SetaPDF\Signer\Module\OVHcloudKMS\Client;
use setasign\SetaPDF\Signer\Module\OVHcloudKMS\Module;
use setasign\SetaPDF2\Core\Document;
use setasign\SetaPDF2\Core\Writer\FileWriter;
use setasign\SetaPDF2\Signer\Digest;
use setasign\SetaPDF2\Signer\Signer;
use setasign\SetaPDF2\Signer\ValidationRelatedInfo\IntegrityResult;
use setasign\SetaPDF2\Signer\X509\Certificate;

mFactory
);

$writer = new FileWriter('result.pdf');
$document = Document::loadByFilename(__DIR__ . '/assets/Laboratory-Report.pdf', $writer);

$signer = new Signer($document);
$field = $signer->addSignatureField();
$signer->setSignatureFieldName($field->getQualifiedName());

$module = new Module($client);
$module->setDigest(Digest::SHA_512);
$module->setKeyId('<your-key-id>');
$module->setSignatureAlgorithm(Digest::RSA_PSS_ALGORITHM);
$module->setCertificate(Certificate::fromFile('/path/to/your/certificate.pem'));

$signer->sign($module);

$newDocument = Document::loadByFilename('result.pdf');