[ 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\X509\SAN; 12 13 use FG\ASN1\ASNObject; 14 use FG\ASN1\Parsable; 15 use FG\ASN1\Exception\ParserException; 16 17 class IPAddress extends ASNObject implements Parsable 18 { 19 const IDENTIFIER = 0x87; // not sure yet why this is the identifier used in SAN extensions 20 21 /** @var string */ 22 private $value; 23 24 public function __construct($ipAddressString) 25 { 26 $this->value = $ipAddressString; 27 } 28 29 public function getType() 30 { 31 return self::IDENTIFIER; 32 } 33 34 public function getContent() 35 { 36 return $this->value; 37 } 38 39 protected function calculateContentLength() 40 { 41 return 4; 42 } 43 44 protected function getEncodedValue() 45 { 46 $ipParts = explode('.', $this->value); 47 $binary = chr($ipParts[0]); 48 $binary .= chr($ipParts[1]); 49 $binary .= chr($ipParts[2]); 50 $binary .= chr($ipParts[3]); 51 52 return $binary; 53 } 54 55 public static function fromBinary(&$binaryData, &$offsetIndex = 0) 56 { 57 self::parseIdentifier($binaryData[$offsetIndex], self::IDENTIFIER, $offsetIndex++); 58 $contentLength = self::parseContentLength($binaryData, $offsetIndex); 59 if ($contentLength != 4) { 60 throw new ParserException("A FG\\X509\SAN\IPAddress should have a content length of 4. Extracted length was {$contentLength}", $offsetIndex); 61 } 62 63 $ipAddressString = ord($binaryData[$offsetIndex++]).'.'; 64 $ipAddressString .= ord($binaryData[$offsetIndex++]).'.'; 65 $ipAddressString .= ord($binaryData[$offsetIndex++]).'.'; 66 $ipAddressString .= ord($binaryData[$offsetIndex++]); 67 68 $parsedObject = new self($ipAddressString); 69 $parsedObject->getObjectLength(); 70 71 return $parsedObject; 72 } 73 }
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 |