<?php
/*
 * This file is part of the PHPASN1 library.
 *
 * Copyright © Friedrich Große <friedrich.grosse@gmail.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 *
 * Modified by academy-pro on 23-October-2024 using {@see https://github.com/BrianHenryIE/strauss}.
 */

namespace AcademyPro\FG\X509;

use AcademyPro\FG\ASN1\OID;
use AcademyPro\FG\ASN1\Universal\NullObject;
use AcademyPro\FG\ASN1\Universal\Sequence;
use AcademyPro\FG\ASN1\Universal\BitString;
use AcademyPro\FG\ASN1\Universal\ObjectIdentifier;

class PublicKey extends Sequence
{
    /**
     * @param string $hexKey
     * @param \AcademyPro\FG\ASN1\ASNObject|string $algorithmIdentifierString
     */
    public function __construct($hexKey, $algorithmIdentifierString = OID::RSA_ENCRYPTION)
    {
        parent::__construct(
            new Sequence(
                new ObjectIdentifier($algorithmIdentifierString),
                new NullObject()
            ),
            new BitString($hexKey)
        );
    }
}
