__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
<?php
namespace Tuf\Metadata\Verifier;
use Tuf\Client\SignatureVerifier;
use Tuf\Exception\Attack\RollbackAttackException;
use Tuf\Metadata\MetadataBase;
/**
* Verifier for root metadata.
*/
class RootVerifier extends VerifierBase
{
/**
* {@inheritDoc}
*/
public function verify(MetadataBase $untrustedMetadata): void
{
// § 5.3.4
/** @var \Tuf\Metadata\RootMetadata $untrustedMetadata */
$this->signatureVerifier->checkSignatures($untrustedMetadata);
$this->signatureVerifier = SignatureVerifier::createFromRootMetadata($untrustedMetadata, true);
$this->signatureVerifier->checkSignatures($untrustedMetadata);
// § 5.3.5
$this->checkRollbackAttack($untrustedMetadata);
}
/**
* {@inheritDoc}
*/
protected function checkRollbackAttack(MetadataBase $untrustedMetadata): void
{
$expectedUntrustedVersion = $this->trustedMetadata->getVersion() + 1;
$untrustedVersion = $untrustedMetadata->getVersion();
if ($expectedUntrustedVersion && ($untrustedMetadata->getVersion() !== $expectedUntrustedVersion)) {
throw new RollbackAttackException("Remote 'root' metadata version \"$$untrustedVersion\" " .
"does not the expected version \"$$expectedUntrustedVersion\"");
}
parent::checkRollbackAttack($untrustedMetadata);
}
/**
* {@inheritdoc}
*
* Overridden to make public.
*
* After attempting to update the root metadata, the new or non-updated metadata must be checked
* for a freeze attack. We cannot check for a freeze attack in ::verify() because when the client
* is many root files behind, only the last version to be downloaded needs to be checked for a
* freeze attack.
*/
public static function checkFreezeAttack(MetadataBase $metadata, \DateTimeImmutable $expiration): void
{
parent::checkFreezeAttack($metadata, $expiration);
}
}
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| FileInfoVerifier.php | File | 1.65 KB | 0664 |
|
| RootVerifier.php | File | 1.94 KB | 0664 |
|
| SnapshotVerifier.php | File | 2.87 KB | 0664 |
|
| TargetsVerifier.php | File | 1.52 KB | 0664 |
|
| TimestampVerifier.php | File | 1.06 KB | 0664 |
|
| TrustedAuthorityTrait.php | File | 2.68 KB | 0664 |
|
| UniversalVerifier.php | File | 2.31 KB | 0664 |
|
| VerifierBase.php | File | 3.23 KB | 0664 |
|