__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
<?php

declare(strict_types=1);

namespace Webauthn\MetadataService\Statement;

use function array_key_exists;
use function in_array;
use function is_string;
use JsonSerializable;
use Webauthn\MetadataService\Exception\MetadataStatementLoadingException;
use Webauthn\MetadataService\Utils;

/**
 * @final
 */
class StatusReport implements JsonSerializable
{
    /**
     * @see AuthenticatorStatus
     */
    private readonly string $status;

    public function __construct(
        string $status,
        private readonly ?string $effectiveDate,
        private readonly ?string $certificate,
        private readonly ?string $url,
        private readonly ?string $certificationDescriptor,
        private readonly ?string $certificateNumber,
        private readonly ?string $certificationPolicyVersion,
        private readonly ?string $certificationRequirementsVersion
    ) {
        in_array($status, AuthenticatorStatus::list(), true) || throw MetadataStatementLoadingException::create(
            'The value of the key "status" is not acceptable'
        );

        $this->status = $status;
    }

    public function isCompromised(): bool
    {
        return in_array($this->status, [
            AuthenticatorStatus::ATTESTATION_KEY_COMPROMISE,
            AuthenticatorStatus::USER_KEY_PHYSICAL_COMPROMISE,
            AuthenticatorStatus::USER_KEY_REMOTE_COMPROMISE,
            AuthenticatorStatus::USER_VERIFICATION_BYPASS,
        ], true);
    }

    public function getStatus(): string
    {
        return $this->status;
    }

    public function getEffectiveDate(): ?string
    {
        return $this->effectiveDate;
    }

    public function getCertificate(): ?string
    {
        return $this->certificate;
    }

    public function getUrl(): ?string
    {
        return $this->url;
    }

    public function getCertificationDescriptor(): ?string
    {
        return $this->certificationDescriptor;
    }

    public function getCertificateNumber(): ?string
    {
        return $this->certificateNumber;
    }

    public function getCertificationPolicyVersion(): ?string
    {
        return $this->certificationPolicyVersion;
    }

    public function getCertificationRequirementsVersion(): ?string
    {
        return $this->certificationRequirementsVersion;
    }

    /**
     * @param array<string, mixed> $data
     */
    public static function createFromArray(array $data): self
    {
        $data = Utils::filterNullValues($data);
        array_key_exists('status', $data) || throw MetadataStatementLoadingException::create(
            'The key "status" is missing'
        );
        foreach ([
            'effectiveDate',
            'certificate',
            'url',
            'certificationDescriptor',
            'certificateNumber',
            'certificationPolicyVersion',
            'certificationRequirementsVersion',
        ] as $key) {
            if (isset($data[$key])) {
                $value = $data[$key];
                $value === null || is_string($value) || throw MetadataStatementLoadingException::create(sprintf(
                    'The value of the key "%s" is invalid',
                    $key
                ));
            }
        }

        return new self(
            $data['status'],
            $data['effectiveDate'] ?? null,
            $data['certificate'] ?? null,
            $data['url'] ?? null,
            $data['certificationDescriptor'] ?? null,
            $data['certificateNumber'] ?? null,
            $data['certificationPolicyVersion'] ?? null,
            $data['certificationRequirementsVersion'] ?? null
        );
    }

    /**
     * @return array<string, mixed>
     */
    public function jsonSerialize(): array
    {
        $data = [
            'status' => $this->status,
            'effectiveDate' => $this->effectiveDate,
            'certificate' => $this->certificate,
            'url' => $this->url,
            'certificationDescriptor' => $this->certificationDescriptor,
            'certificateNumber' => $this->certificateNumber,
            'certificationPolicyVersion' => $this->certificationPolicyVersion,
            'certificationRequirementsVersion' => $this->certificationRequirementsVersion,
        ];

        return Utils::filterNullValues($data);
    }
}

Filemanager

Name Type Size Permission Actions
AbstractDescriptor.php File 1.02 KB 0664
AlternativeDescriptions.php File 997 B 0664
AuthenticatorGetInfo.php File 773 B 0664
AuthenticatorStatus.php File 2.05 KB 0664
BiometricAccuracyDescriptor.php File 1.63 KB 0664
BiometricStatusReport.php File 2.59 KB 0664
CodeAccuracyDescriptor.php File 2.05 KB 0664
DisplayPNGCharacteristicsDescriptor.php File 4.57 KB 0664
EcdaaTrustAnchor.php File 2.44 KB 0664
ExtensionDescriptor.php File 2.03 KB 0664
MetadataStatement.php File 17.56 KB 0664
PatternAccuracyDescriptor.php File 1.97 KB 0664
RgbPaletteEntry.php File 1.83 KB 0664
RogueListEntry.php File 1.42 KB 0664
StatusReport.php File 4.2 KB 0664
VerificationMethodANDCombinations.php File 1.47 KB 0664
VerificationMethodDescriptor.php File 5.67 KB 0664
Version.php File 1.82 KB 0664
Filemanager