![]() 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/old/vendor/spomky-labs/pki-framework/src/ASN1/Feature/ |
<?php declare(strict_types=1); namespace SpomkyLabs\Pki\ASN1\Feature; use SpomkyLabs\Pki\ASN1\Element; use SpomkyLabs\Pki\ASN1\Type\TaggedType; use SpomkyLabs\Pki\ASN1\Type\UnspecifiedType; /** * Base interface for ASN.1 type elements. */ interface ElementBase extends Encodable { /** * Get the class of the ASN.1 type. * * One of `Identifier::CLASS_*` constants. */ public function typeClass(): int; /** * Check whether the element is constructed. * * Otherwise it's primitive. */ public function isConstructed(): bool; /** * Get the tag of the element. * * Interpretation of the tag depends on the context. For example, it may represent a universal type tag or a tag of * an implicitly or explicitly tagged type. */ public function tag(): int; /** * Check whether the element is a type of given tag. * * @param int $tag Type tag */ public function isType(int $tag): bool; /** * Check whether the element is a type of a given tag. * * Throws an exception if expectation fails. * * @param int $tag Type tag */ public function expectType(int $tag): self; /** * Check whether the element is tagged (context specific). */ public function isTagged(): bool; /** * Check whether the element is tagged (context specific) and optionally has a given tag. * * Throws an exception if the element is not tagged or tag differs from the expected. * * @param null|int $tag Optional type tag */ public function expectTagged(?int $tag = null): TaggedType; /** * Get the object as an abstract `Element` instance. */ public function asElement(): Element; /** * Get the object as an `UnspecifiedType` instance. */ public function asUnspecified(): UnspecifiedType; }