summary refs log tree commit diff
path: root/crypto/src/bcpg/sig/SignatureCreationTime.cs
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/src/bcpg/sig/SignatureCreationTime.cs')
-rw-r--r--crypto/src/bcpg/sig/SignatureCreationTime.cs27
1 files changed, 6 insertions, 21 deletions
diff --git a/crypto/src/bcpg/sig/SignatureCreationTime.cs b/crypto/src/bcpg/sig/SignatureCreationTime.cs
index d172e5d52..233dd18e6 100644
--- a/crypto/src/bcpg/sig/SignatureCreationTime.cs
+++ b/crypto/src/bcpg/sig/SignatureCreationTime.cs
@@ -1,5 +1,6 @@
 using System;
 
+using Org.BouncyCastle.Crypto.Utilities;
 using Org.BouncyCastle.Utilities.Date;
 
 namespace Org.BouncyCastle.Bcpg.Sig
@@ -10,41 +11,25 @@ namespace Org.BouncyCastle.Bcpg.Sig
     public class SignatureCreationTime
         : SignatureSubpacket
     {
-		protected static byte[] TimeToBytes(
-            DateTime time)
+		protected static byte[] TimeToBytes(DateTime time)
         {
 			long t = DateTimeUtilities.DateTimeToUnixMs(time) / 1000L;
-			byte[] data = new byte[4];
-			data[0] = (byte)(t >> 24);
-            data[1] = (byte)(t >> 16);
-            data[2] = (byte)(t >> 8);
-            data[3] = (byte)t;
-            return data;
+            return Pack.UInt32_To_BE((uint)t);
         }
 
-        public SignatureCreationTime(
-            bool    critical,
-            bool    isLongLength,
-            byte[]  data)
+        public SignatureCreationTime(bool critical, bool isLongLength, byte[] data)
             : base(SignatureSubpacketTag.CreationTime, critical, isLongLength, data)
         {
         }
 
-        public SignatureCreationTime(
-            bool        critical,
-            DateTime    date)
+        public SignatureCreationTime(bool critical, DateTime date)
             : base(SignatureSubpacketTag.CreationTime, critical, false, TimeToBytes(date))
         {
         }
 
         public DateTime GetTime()
         {
-			long time = (long)(
-					((uint)data[0] << 24)
-				|	((uint)data[1] << 16)
-				|	((uint)data[2] << 8)
-				|	((uint)data[3])
-				);
+            uint time = Pack.BE_To_UInt32(data, 0);
 			return DateTimeUtilities.UnixMsToDateTime(time * 1000L);
         }
     }