1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
|
<?php
declare(strict_types=1);
namespace Lcobucci\JWT\Tests\Signer\Ecdsa;
use Lcobucci\JWT\Signer\Ecdsa;
use Lcobucci\JWT\Signer\Ecdsa\Sha256;
use Lcobucci\JWT\Signer\InvalidKeyProvided;
use Lcobucci\JWT\Signer\Key;
use Lcobucci\JWT\Signer\OpenSSL;
use PHPUnit\Framework\Attributes as PHPUnit;
use const OPENSSL_ALGO_SHA256;
#[PHPUnit\CoversClass(Ecdsa::class)]
#[PHPUnit\CoversClass(Ecdsa\MultibyteStringConverter::class)]
#[PHPUnit\CoversClass(Ecdsa\Sha256::class)]
#[PHPUnit\CoversClass(OpenSSL::class)]
#[PHPUnit\CoversClass(InvalidKeyProvided::class)]
#[PHPUnit\UsesClass(Key\InMemory::class)]
final class Sha256Test extends EcdsaTestCase
{
protected function algorithm(): Ecdsa
{
return new Sha256($this->pointsManipulator);
}
protected function algorithmId(): string
{
return 'ES256';
}
protected function signatureAlgorithm(): int
{
return OPENSSL_ALGO_SHA256;
}
protected function pointLength(): int
{
return 64;
}
protected function keyLength(): int
{
return 256;
}
protected function verificationKey(): Key
{
return self::$ecdsaKeys['public1'];
}
protected function signingKey(): Key
{
return self::$ecdsaKeys['private'];
}
/** {@inheritDoc} */
public static function incompatibleKeys(): iterable
{
yield '384 bits' => ['private_ec384', 384];
yield '521 bits' => ['private_ec512', 521];
}
}
|