Файловый менеджер - Редактировать - /home/lmsyaran/public_html/joomla5/libraries/vendor/php-tuf/php-tuf/src/Metadata/Verifier/RootVerifier.php
Назад
<?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); } }
| ver. 1.4 |
Github
|
.
| PHP 8.1.33 | Генерация страницы: 0.01 |
proxy
|
phpinfo
|
Настройка