1. Go to this page and download the library: Download k2gl/tuf 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/ */
k2gl / tuf example snippets
use K2gl\Tuf\Updater;
use K2gl\Tuf\HttpFetcher;
use K2gl\Tuf\Exception\TufException;
$updater = new Updater(
trustedRoot: file_get_contents(__DIR__ . '/root.json'),
metadataBaseUrl: 'https://tuf-repo-cdn.sigstore.dev',
targetBaseUrl: 'https://tuf-repo-cdn.sigstore.dev/targets',
fetcher: new HttpFetcher(),
);
try {
$updater->refresh();
$info = $updater->getTargetInfo('trusted_root.json');
if ($info === null) {
throw new RuntimeException('Target is not listed in trusted metadata.');
}
$trustedRootJson = $updater->downloadTarget($info); // verified bytes
} catch (TufException $e) {
// Trust could not be established — fail closed.
throw $e;
}
use K2gl\Tuf\Fetcher;
use K2gl\Tuf\Exception\DownloadException;
final class MirrorFetcher implements Fetcher
{
public function fetch(string $url, int $maxLength): string
{
// Return at most $maxLength bytes, or throw DownloadException
// (including for "not found", which ends the root version chain).
}
}