![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/inventory.corals.io/vendor/lcobucci/jwt/src/Signer/ |
<?php declare(strict_types=1); namespace Lcobucci\JWT\Signer; use Lcobucci\JWT\Signer\Ecdsa\MultibyteStringConverter; use Lcobucci\JWT\Signer\Ecdsa\SignatureConverter; use const OPENSSL_KEYTYPE_EC; abstract class Ecdsa extends OpenSSL { private SignatureConverter $converter; public function __construct(SignatureConverter $converter) { $this->converter = $converter; } public static function create(): Ecdsa { return new static(new MultibyteStringConverter()); // @phpstan-ignore-line } final public function sign(string $payload, Key $key): string { return $this->converter->fromAsn1( $this->createSignature($key->contents(), $key->passphrase(), $payload), $this->keyLength() ); } final public function verify(string $expected, string $payload, Key $key): bool { return $this->verifySignature( $this->converter->toAsn1($expected, $this->keyLength()), $payload, $key->contents() ); } final public function keyType(): int { return OPENSSL_KEYTYPE_EC; } /** * Returns the length of each point in the signature, so that we can calculate and verify R and S points properly * * @internal */ abstract public function keyLength(): int; }