<?php
 declare(strict_types=1); namespace SpomkyLabs\Pki\CryptoTypes\AlgorithmIdentifier\Asymmetric; use SpomkyLabs\Pki\ASN1\Element; use SpomkyLabs\Pki\ASN1\Type\Primitive\NullType; use SpomkyLabs\Pki\ASN1\Type\UnspecifiedType; use SpomkyLabs\Pki\CryptoTypes\AlgorithmIdentifier\Feature\AsymmetricCryptoAlgorithmIdentifier; use SpomkyLabs\Pki\CryptoTypes\AlgorithmIdentifier\SpecificAlgorithmIdentifier; use UnexpectedValueException; final class RSAEncryptionAlgorithmIdentifier extends SpecificAlgorithmIdentifier implements AsymmetricCryptoAlgorithmIdentifier { private function __construct() { parent::__construct(self::OID_RSA_ENCRYPTION); } public static function create(): self { return new self(); } public function name(): string { return 'rsaEncryption'; } public static function fromASN1Params(?UnspecifiedType $params = null): SpecificAlgorithmIdentifier { if (! isset($params)) { throw new UnexpectedValueException('No parameters.'); } $params->asNull(); return self::create(); } protected function paramsASN1(): Element { return NullType::create(); } } 