[ Index ] |
PHP Cross Reference of Joomla 4.2.2 documentation |
[Summary view] [Print] [Text view]
1 <?php 2 /* 3 * This file is part of the PHPASN1 library. 4 * 5 * Copyright © Friedrich Große <[email protected]> 6 * 7 * For the full copyright and license information, please view the LICENSE 8 * file that was distributed with this source code. 9 */ 10 11 namespace FG\ASN1\Universal; 12 13 use Exception; 14 use FG\ASN1\Parsable; 15 use FG\ASN1\Identifier; 16 use FG\ASN1\Exception\ParserException; 17 18 class RelativeObjectIdentifier extends ObjectIdentifier implements Parsable 19 { 20 public function __construct($subIdentifiers) 21 { 22 $this->value = $subIdentifiers; 23 $this->subIdentifiers = explode('.', $subIdentifiers); 24 $nrOfSubIdentifiers = count($this->subIdentifiers); 25 26 for ($i = 0; $i < $nrOfSubIdentifiers; $i++) { 27 if (is_numeric($this->subIdentifiers[$i])) { 28 // enforce the integer type 29 $this->subIdentifiers[$i] = intval($this->subIdentifiers[$i]); 30 } else { 31 throw new Exception("[{$subIdentifiers}] is no valid object identifier (sub identifier ".($i + 1).' is not numeric)!'); 32 } 33 } 34 } 35 36 public function getType() 37 { 38 return Identifier::RELATIVE_OID; 39 } 40 41 public static function fromBinary(&$binaryData, &$offsetIndex = 0) 42 { 43 self::parseIdentifier($binaryData[$offsetIndex], Identifier::RELATIVE_OID, $offsetIndex++); 44 $contentLength = self::parseContentLength($binaryData, $offsetIndex, 1); 45 46 try { 47 $oidString = self::parseOid($binaryData, $offsetIndex, $contentLength); 48 } catch (ParserException $e) { 49 throw new ParserException('Malformed ASN.1 Relative Object Identifier', $e->getOffset()); 50 } 51 52 $parsedObject = new self($oidString); 53 $parsedObject->setContentLength($contentLength); 54 55 return $parsedObject; 56 } 57 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Wed Sep 7 05:41:13 2022 | Chilli.vc Blog - For Webmaster,Blog-Writer,System Admin and Domainer |