whoami7 - Manager
:
/
home
/
kckglobal
/
www
/
portal
/
vendor
/
lcobucci
/
jwt
/
src
/
Signer
/
Key
/
Upload File:
files >> //home/kckglobal/www/portal/vendor/lcobucci/jwt/src/Signer/Key/InMemory.php
<?php declare(strict_types=1); namespace Lcobucci\JWT\Signer\Key; use Lcobucci\JWT\Signer\InvalidKeyProvided; use Lcobucci\JWT\Signer\Key; use Lcobucci\JWT\SodiumBase64Polyfill; use SensitiveParameter; use SplFileObject; use Throwable; use function assert; use function is_string; final class InMemory implements Key { /** @param non-empty-string $contents */ private function __construct( #[SensitiveParameter] public readonly string $contents, #[SensitiveParameter] public readonly string $passphrase, ) { } /** @param non-empty-string $contents */ public static function plainText( #[SensitiveParameter] string $contents, #[SensitiveParameter] string $passphrase = '', ): self { self::guardAgainstEmptyKey($contents); return new self($contents, $passphrase); } /** @param non-empty-string $contents */ public static function base64Encoded( #[SensitiveParameter] string $contents, #[SensitiveParameter] string $passphrase = '', ): self { $decoded = SodiumBase64Polyfill::base642bin( $contents, SodiumBase64Polyfill::SODIUM_BASE64_VARIANT_ORIGINAL, ); self::guardAgainstEmptyKey($decoded); return new self($decoded, $passphrase); } /** * @param non-empty-string $path * * @throws FileCouldNotBeRead */ public static function file( string $path, #[SensitiveParameter] string $passphrase = '', ): self { try { $file = new SplFileObject($path); } catch (Throwable $exception) { throw FileCouldNotBeRead::onPath($path, $exception); } $fileSize = $file->getSize(); $contents = $fileSize > 0 ? $file->fread($file->getSize()) : ''; assert(is_string($contents)); self::guardAgainstEmptyKey($contents); return new self($contents, $passphrase); } /** @phpstan-assert non-empty-string $contents */ private static function guardAgainstEmptyKey(string $contents): void { if ($contents === '') { throw InvalidKeyProvided::cannotBeEmpty(); } } public function contents(): string { return $this->contents; } public function passphrase(): string { return $this->passphrase; } }
Copyright ©2021 || Defacer Indonesia