Файловый менеджер - Редактировать - /home/lmsyaran/public_html/joomla5/libraries/vendor/web-auth/webauthn-lib/src/AttestationStatement/AttestationStatement.php
Назад
<?php declare(strict_types=1); namespace Webauthn\AttestationStatement; use function array_key_exists; use JsonSerializable; use Webauthn\Exception\InvalidDataException; use Webauthn\TrustPath\TrustPath; use Webauthn\TrustPath\TrustPathLoader; class AttestationStatement implements JsonSerializable { final public const TYPE_NONE = 'none'; final public const TYPE_BASIC = 'basic'; final public const TYPE_SELF = 'self'; final public const TYPE_ATTCA = 'attca'; /** * @deprecated since 4.2.0 and will be removed in 5.0.0. The ECDAA Trust Anchor does no longer exist in Webauthn specification. */ final public const TYPE_ECDAA = 'ecdaa'; final public const TYPE_ANONCA = 'anonca'; /** * @param array<string, mixed> $attStmt */ public function __construct( private readonly string $fmt, private readonly array $attStmt, private readonly string $type, private readonly TrustPath $trustPath ) { } /** * @param array<string, mixed> $attStmt */ public static function createNone(string $fmt, array $attStmt, TrustPath $trustPath): self { return new self($fmt, $attStmt, self::TYPE_NONE, $trustPath); } /** * @param array<string, mixed> $attStmt */ public static function createBasic(string $fmt, array $attStmt, TrustPath $trustPath): self { return new self($fmt, $attStmt, self::TYPE_BASIC, $trustPath); } /** * @param array<string, mixed> $attStmt */ public static function createSelf(string $fmt, array $attStmt, TrustPath $trustPath): self { return new self($fmt, $attStmt, self::TYPE_SELF, $trustPath); } /** * @param array<string, mixed> $attStmt */ public static function createAttCA(string $fmt, array $attStmt, TrustPath $trustPath): self { return new self($fmt, $attStmt, self::TYPE_ATTCA, $trustPath); } /** * @param array<string, mixed> $attStmt * * @deprecated since 4.2.0 and will be removed in 5.0.0. The ECDAA Trust Anchor does no longer exist in Webauthn specification. */ public static function createEcdaa(string $fmt, array $attStmt, TrustPath $trustPath): self { return new self($fmt, $attStmt, self::TYPE_ECDAA, $trustPath); } /** * @param array<string, mixed> $attStmt */ public static function createAnonymizationCA(string $fmt, array $attStmt, TrustPath $trustPath): self { return new self($fmt, $attStmt, self::TYPE_ANONCA, $trustPath); } public function getFmt(): string { return $this->fmt; } /** * @return mixed[] */ public function getAttStmt(): array { return $this->attStmt; } public function has(string $key): bool { return array_key_exists($key, $this->attStmt); } public function get(string $key): mixed { $this->has($key) || throw InvalidDataException::create($this->attStmt, sprintf( 'The attestation statement has no key "%s".', $key )); return $this->attStmt[$key]; } public function getTrustPath(): TrustPath { return $this->trustPath; } public function getType(): string { return $this->type; } /** * @param mixed[] $data */ public static function createFromArray(array $data): self { foreach (['fmt', 'attStmt', 'trustPath', 'type'] as $key) { array_key_exists($key, $data) || throw InvalidDataException::create($data, sprintf( 'The key "%s" is missing', $key )); } return new self( $data['fmt'], $data['attStmt'], $data['type'], TrustPathLoader::loadTrustPath($data['trustPath']) ); } /** * @return mixed[] */ public function jsonSerialize(): array { return [ 'fmt' => $this->fmt, 'attStmt' => $this->attStmt, 'trustPath' => $this->trustPath->jsonSerialize(), 'type' => $this->type, ]; } }
| ver. 1.4 |
Github
|
.
| PHP 8.1.33 | Генерация страницы: 0.08 |
proxy
|
phpinfo
|
Настройка