summaryrefslogtreecommitdiffstats
path: root/vendor/fgrosse/phpasn1/lib/ASN1/Universal/UTCTime.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/fgrosse/phpasn1/lib/ASN1/Universal/UTCTime.php')
-rw-r--r--vendor/fgrosse/phpasn1/lib/ASN1/Universal/UTCTime.php154
1 files changed, 77 insertions, 77 deletions
diff --git a/vendor/fgrosse/phpasn1/lib/ASN1/Universal/UTCTime.php b/vendor/fgrosse/phpasn1/lib/ASN1/Universal/UTCTime.php
index c4d303c..32e71fe 100644
--- a/vendor/fgrosse/phpasn1/lib/ASN1/Universal/UTCTime.php
+++ b/vendor/fgrosse/phpasn1/lib/ASN1/Universal/UTCTime.php
@@ -1,77 +1,77 @@
-<?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.
- */
-
-namespace FG\ASN1\Universal;
-
-use FG\ASN1\AbstractTime;
-use FG\ASN1\Parsable;
-use FG\ASN1\Identifier;
-use FG\ASN1\Exception\ParserException;
-
-/**
- * This ASN.1 universal type contains the calendar date and time.
- *
- * The precision is one minute or one second and optionally a
- * local time differential from coordinated universal time.
- *
- * Decoding of this type will accept the Basic Encoding Rules (BER)
- * The encoding will comply with the Distinguished Encoding Rules (DER).
- */
-class UTCTime extends AbstractTime implements Parsable
-{
- public function getType()
- {
- return Identifier::UTC_TIME;
- }
-
- protected function calculateContentLength()
- {
- return 13; // Content is a string o the following format: YYMMDDhhmmssZ (13 octets)
- }
-
- protected function getEncodedValue()
- {
- return $this->value->format('ymdHis').'Z';
- }
-
- public static function fromBinary(&$binaryData, &$offsetIndex = 0)
- {
- self::parseIdentifier($binaryData[$offsetIndex], Identifier::UTC_TIME, $offsetIndex++);
- $contentLength = self::parseContentLength($binaryData, $offsetIndex, 11);
-
- $format = 'ymdGi';
- $dateTimeString = substr($binaryData, $offsetIndex, 10);
- $offsetIndex += 10;
-
- // extract optional seconds part
- if ($binaryData[$offsetIndex] != 'Z'
- && $binaryData[$offsetIndex] != '+'
- && $binaryData[$offsetIndex] != '-') {
- $dateTimeString .= substr($binaryData, $offsetIndex, 2);
- $offsetIndex += 2;
- $format .= 's';
- }
-
- $dateTime = \DateTime::createFromFormat($format, $dateTimeString, new \DateTimeZone('UTC'));
-
- // extract time zone settings
- if ($binaryData[$offsetIndex] == '+'
- || $binaryData[$offsetIndex] == '-') {
- $dateTime = static::extractTimeZoneData($binaryData, $offsetIndex, $dateTime);
- } elseif ($binaryData[$offsetIndex++] != 'Z') {
- throw new ParserException('Invalid UTC String', $offsetIndex);
- }
-
- $parsedObject = new self($dateTime);
- $parsedObject->setContentLength($contentLength);
-
- return $parsedObject;
- }
-}
+<?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.
+ */
+
+namespace FG\ASN1\Universal;
+
+use FG\ASN1\AbstractTime;
+use FG\ASN1\Parsable;
+use FG\ASN1\Identifier;
+use FG\ASN1\Exception\ParserException;
+
+/**
+ * This ASN.1 universal type contains the calendar date and time.
+ *
+ * The precision is one minute or one second and optionally a
+ * local time differential from coordinated universal time.
+ *
+ * Decoding of this type will accept the Basic Encoding Rules (BER)
+ * The encoding will comply with the Distinguished Encoding Rules (DER).
+ */
+class UTCTime extends AbstractTime implements Parsable
+{
+ public function getType()
+ {
+ return Identifier::UTC_TIME;
+ }
+
+ protected function calculateContentLength()
+ {
+ return 13; // Content is a string o the following format: YYMMDDhhmmssZ (13 octets)
+ }
+
+ protected function getEncodedValue()
+ {
+ return $this->value->format('ymdHis').'Z';
+ }
+
+ public static function fromBinary(&$binaryData, &$offsetIndex = 0)
+ {
+ self::parseIdentifier($binaryData[$offsetIndex], Identifier::UTC_TIME, $offsetIndex++);
+ $contentLength = self::parseContentLength($binaryData, $offsetIndex, 11);
+
+ $format = 'ymdGi';
+ $dateTimeString = substr($binaryData, $offsetIndex, 10);
+ $offsetIndex += 10;
+
+ // extract optional seconds part
+ if ($binaryData[$offsetIndex] != 'Z'
+ && $binaryData[$offsetIndex] != '+'
+ && $binaryData[$offsetIndex] != '-') {
+ $dateTimeString .= substr($binaryData, $offsetIndex, 2);
+ $offsetIndex += 2;
+ $format .= 's';
+ }
+
+ $dateTime = \DateTime::createFromFormat($format, $dateTimeString, new \DateTimeZone('UTC'));
+
+ // extract time zone settings
+ if ($binaryData[$offsetIndex] == '+'
+ || $binaryData[$offsetIndex] == '-') {
+ $dateTime = static::extractTimeZoneData($binaryData, $offsetIndex, $dateTime);
+ } elseif ($binaryData[$offsetIndex++] != 'Z') {
+ throw new ParserException('Invalid UTC String', $offsetIndex);
+ }
+
+ $parsedObject = new self($dateTime);
+ $parsedObject->setContentLength($contentLength);
+
+ return $parsedObject;
+ }
+}