summary refs log tree commit diff
path: root/crypto/src/asn1/DerGeneralizedTime.cs
diff options
context:
space:
mode:
authorPeter Dettman <peter.dettman@bouncycastle.org>2014-02-19 12:02:48 +0700
committerPeter Dettman <peter.dettman@bouncycastle.org>2014-02-19 12:02:48 +0700
commit280302499e34953078162f26336fa34c37c226f9 (patch)
tree37afbc6b1122bac2d09c056306a7de2ab4ca913a /crypto/src/asn1/DerGeneralizedTime.cs
parentUse ToBigInteger() for A/B comparison in curve equality (diff)
downloadBouncyCastle.NET-ed25519-280302499e34953078162f26336fa34c37c226f9.tar.xz
Tabs -> spaces
Diffstat (limited to 'crypto/src/asn1/DerGeneralizedTime.cs')
-rw-r--r--crypto/src/asn1/DerGeneralizedTime.cs336
1 files changed, 168 insertions, 168 deletions
diff --git a/crypto/src/asn1/DerGeneralizedTime.cs b/crypto/src/asn1/DerGeneralizedTime.cs
index dae60e876..54fbabbbe 100644
--- a/crypto/src/asn1/DerGeneralizedTime.cs
+++ b/crypto/src/asn1/DerGeneralizedTime.cs
@@ -14,7 +14,7 @@ namespace Org.BouncyCastle.Asn1
     {
         private readonly string time;
 
-		/**
+        /**
          * return a generalized time from the passed in object
          *
          * @exception ArgumentException if the object cannot be converted.
@@ -22,15 +22,15 @@ namespace Org.BouncyCastle.Asn1
         public static DerGeneralizedTime GetInstance(
             object obj)
         {
-			if (obj == null || obj is DerGeneralizedTime)
+            if (obj == null || obj is DerGeneralizedTime)
             {
                 return (DerGeneralizedTime)obj;
             }
 
-			throw new ArgumentException("illegal object in GetInstance: " + obj.GetType().Name, "obj");
+            throw new ArgumentException("illegal object in GetInstance: " + obj.GetType().Name, "obj");
         }
 
-		/**
+        /**
          * return a Generalized Time object from a tagged object.
          *
          * @param obj the tagged object holding the object we want
@@ -43,41 +43,41 @@ namespace Org.BouncyCastle.Asn1
             Asn1TaggedObject	obj,
             bool				isExplicit)
         {
-			Asn1Object o = obj.GetObject();
+            Asn1Object o = obj.GetObject();
 
-			if (isExplicit || o is DerGeneralizedTime)
-			{
-				return GetInstance(o);
-			}
+            if (isExplicit || o is DerGeneralizedTime)
+            {
+                return GetInstance(o);
+            }
+
+            return new DerGeneralizedTime(((Asn1OctetString)o).GetOctets());
+        }
+
+        /**
+         * The correct format for this is YYYYMMDDHHMMSS[.f]Z, or without the Z
+         * for local time, or Z+-HHMM on the end, for difference between local
+         * time and UTC time. The fractional second amount f must consist of at
+         * least one number with trailing zeroes removed.
+         *
+         * @param time the time string.
+         * @exception ArgumentException if string is an illegal format.
+         */
+        public DerGeneralizedTime(
+            string time)
+        {
+            this.time = time;
 
-			return new DerGeneralizedTime(((Asn1OctetString)o).GetOctets());
+            try
+            {
+                ToDateTime();
+            }
+            catch (FormatException e)
+            {
+                throw new ArgumentException("invalid date string: " + e.Message);
+            }
         }
 
-		/**
-		 * The correct format for this is YYYYMMDDHHMMSS[.f]Z, or without the Z
-		 * for local time, or Z+-HHMM on the end, for difference between local
-		 * time and UTC time. The fractional second amount f must consist of at
-		 * least one number with trailing zeroes removed.
-		 *
-		 * @param time the time string.
-		 * @exception ArgumentException if string is an illegal format.
-		 */
-		public DerGeneralizedTime(
-			string time)
-		{
-			this.time = time;
-
-			try
-			{
-				ToDateTime();
-			}
-			catch (FormatException e)
-			{
-				throw new ArgumentException("invalid date string: " + e.Message);
-			}
-		}
-
-		/**
+        /**
          * base constructor from a local time object
          */
         public DerGeneralizedTime(
@@ -86,7 +86,7 @@ namespace Org.BouncyCastle.Asn1
             this.time = time.ToString(@"yyyyMMddHHmmss\Z");
         }
 
-		internal DerGeneralizedTime(
+        internal DerGeneralizedTime(
             byte[] bytes)
         {
             //
@@ -95,16 +95,16 @@ namespace Org.BouncyCastle.Asn1
             this.time = Strings.FromAsciiByteArray(bytes);
         }
 
-		/**
-		 * Return the time.
-		 * @return The time string as it appeared in the encoded object.
-		 */
-		public string TimeString
-		{
-			get { return time; }
-		}
+        /**
+         * Return the time.
+         * @return The time string as it appeared in the encoded object.
+         */
+        public string TimeString
+        {
+            get { return time; }
+        }
 
-		/**
+        /**
          * return the time - always in the form of
          *  YYYYMMDDhhmmssGMT(+hh:mm|-hh:mm).
          * <p>
@@ -154,151 +154,151 @@ namespace Org.BouncyCastle.Asn1
             return time + CalculateGmtOffset();
         }
 
-		private string CalculateGmtOffset()
-		{
-			char sign = '+';
+        private string CalculateGmtOffset()
+        {
+            char sign = '+';
             DateTime time = ToDateTime();
 
 #if SILVERLIGHT
-			long offset = time.Ticks - time.ToUniversalTime().Ticks;
-			if (offset < 0)
-			{
-				sign = '-';
-				offset = -offset;
-			}
-			int hours = (int)(offset / TimeSpan.TicksPerHour);
-			int minutes = (int)(offset / TimeSpan.TicksPerMinute) % 60;
+            long offset = time.Ticks - time.ToUniversalTime().Ticks;
+            if (offset < 0)
+            {
+                sign = '-';
+                offset = -offset;
+            }
+            int hours = (int)(offset / TimeSpan.TicksPerHour);
+            int minutes = (int)(offset / TimeSpan.TicksPerMinute) % 60;
 #else
             // Note: GetUtcOffset incorporates Daylight Savings offset
-			TimeSpan offset =  TimeZone.CurrentTimeZone.GetUtcOffset(time);
-			if (offset.CompareTo(TimeSpan.Zero) < 0)
-			{
-				sign = '-';
-				offset = offset.Duration();
-			}
-			int hours = offset.Hours;
-			int minutes = offset.Minutes;
+            TimeSpan offset =  TimeZone.CurrentTimeZone.GetUtcOffset(time);
+            if (offset.CompareTo(TimeSpan.Zero) < 0)
+            {
+                sign = '-';
+                offset = offset.Duration();
+            }
+            int hours = offset.Hours;
+            int minutes = offset.Minutes;
 #endif
 
-			return "GMT" + sign + Convert(hours) + ":" + Convert(minutes);
-		}
-
-		private static string Convert(
-			int time)
-		{
-			if (time < 10)
-			{
-				return "0" + time;
-			}
-
-			return time.ToString();
-		}
-
-		public DateTime ToDateTime()
-		{
-			string formatStr;
-			string d = time;
-			bool makeUniversal = false;
-
-			if (d.EndsWith("Z"))
-			{
-				if (HasFractionalSeconds)
-				{
-					int fCount = d.Length - d.IndexOf('.') - 2;
-					formatStr = @"yyyyMMddHHmmss." + FString(fCount) + @"\Z";
-				}
-				else
-				{
-					formatStr = @"yyyyMMddHHmmss\Z";
-				}
-			}
-			else if (time.IndexOf('-') > 0 || time.IndexOf('+') > 0)
-			{
-				d = GetTime();
-				makeUniversal = true;
-
-				if (HasFractionalSeconds)
-				{
-					int fCount = d.IndexOf("GMT") - 1 - d.IndexOf('.');
-					formatStr = @"yyyyMMddHHmmss." + FString(fCount) + @"'GMT'zzz";
-				}
-				else
-				{
-					formatStr = @"yyyyMMddHHmmss'GMT'zzz";
-				}
-			}
-			else
-			{
-				if (HasFractionalSeconds)
-				{
-					int fCount = d.Length - 1 - d.IndexOf('.');
-					formatStr = @"yyyyMMddHHmmss." + FString(fCount);
-				}
-				else
-				{
-					formatStr = @"yyyyMMddHHmmss";
-				}
-
-				// TODO?
+            return "GMT" + sign + Convert(hours) + ":" + Convert(minutes);
+        }
+
+        private static string Convert(
+            int time)
+        {
+            if (time < 10)
+            {
+                return "0" + time;
+            }
+
+            return time.ToString();
+        }
+
+        public DateTime ToDateTime()
+        {
+            string formatStr;
+            string d = time;
+            bool makeUniversal = false;
+
+            if (d.EndsWith("Z"))
+            {
+                if (HasFractionalSeconds)
+                {
+                    int fCount = d.Length - d.IndexOf('.') - 2;
+                    formatStr = @"yyyyMMddHHmmss." + FString(fCount) + @"\Z";
+                }
+                else
+                {
+                    formatStr = @"yyyyMMddHHmmss\Z";
+                }
+            }
+            else if (time.IndexOf('-') > 0 || time.IndexOf('+') > 0)
+            {
+                d = GetTime();
+                makeUniversal = true;
+
+                if (HasFractionalSeconds)
+                {
+                    int fCount = d.IndexOf("GMT") - 1 - d.IndexOf('.');
+                    formatStr = @"yyyyMMddHHmmss." + FString(fCount) + @"'GMT'zzz";
+                }
+                else
+                {
+                    formatStr = @"yyyyMMddHHmmss'GMT'zzz";
+                }
+            }
+            else
+            {
+                if (HasFractionalSeconds)
+                {
+                    int fCount = d.Length - 1 - d.IndexOf('.');
+                    formatStr = @"yyyyMMddHHmmss." + FString(fCount);
+                }
+                else
+                {
+                    formatStr = @"yyyyMMddHHmmss";
+                }
+
+                // TODO?
 //				dateF.setTimeZone(new SimpleTimeZone(0, TimeZone.getDefault().getID()));
-			}
-
-			return ParseDateString(d, formatStr, makeUniversal);
-		}
-
-		private string FString(
-			int count)
-		{
-			StringBuilder sb = new StringBuilder();
-			for (int i = 0; i < count; ++i)
-			{
-				sb.Append('f');
-			}
-			return sb.ToString();
-		}
-
-		private DateTime ParseDateString(
-			string	dateStr,
-			string	formatStr,
-			bool	makeUniversal)
-		{
-			DateTime dt = DateTime.ParseExact(
-				dateStr,
-				formatStr,
-				DateTimeFormatInfo.InvariantInfo);
-
-			return makeUniversal ? dt.ToUniversalTime() : dt;
-		}
-
-		private bool HasFractionalSeconds
-		{
-			get { return time.IndexOf('.') == 14; }
-		}
-
-		private byte[] GetOctets()
+            }
+
+            return ParseDateString(d, formatStr, makeUniversal);
+        }
+
+        private string FString(
+            int count)
+        {
+            StringBuilder sb = new StringBuilder();
+            for (int i = 0; i < count; ++i)
+            {
+                sb.Append('f');
+            }
+            return sb.ToString();
+        }
+
+        private DateTime ParseDateString(
+            string	dateStr,
+            string	formatStr,
+            bool	makeUniversal)
+        {
+            DateTime dt = DateTime.ParseExact(
+                dateStr,
+                formatStr,
+                DateTimeFormatInfo.InvariantInfo);
+
+            return makeUniversal ? dt.ToUniversalTime() : dt;
+        }
+
+        private bool HasFractionalSeconds
+        {
+            get { return time.IndexOf('.') == 14; }
+        }
+
+        private byte[] GetOctets()
         {
             return Strings.ToAsciiByteArray(time);
         }
 
-		internal override void Encode(
+        internal override void Encode(
             DerOutputStream derOut)
         {
             derOut.WriteEncoded(Asn1Tags.GeneralizedTime, GetOctets());
         }
 
-		protected override bool Asn1Equals(
-			Asn1Object asn1Object)
+        protected override bool Asn1Equals(
+            Asn1Object asn1Object)
         {
-			DerGeneralizedTime other = asn1Object as DerGeneralizedTime;
+            DerGeneralizedTime other = asn1Object as DerGeneralizedTime;
 
-			if (other == null)
-				return false;
+            if (other == null)
+                return false;
 
-			return this.time.Equals(other.time);
+            return this.time.Equals(other.time);
         }
 
-		protected override int Asn1GetHashCode()
-		{
+        protected override int Asn1GetHashCode()
+        {
             return time.GetHashCode();
         }
     }