SignatureCreationTime.cs 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #if !BESTHTTP_DISABLE_ALTERNATE_SSL && (!UNITY_WEBGL || UNITY_EDITOR)
  2. #pragma warning disable
  3. using System;
  4. using Best.HTTP.SecureProtocol.Org.BouncyCastle.Crypto.Utilities;
  5. using Best.HTTP.SecureProtocol.Org.BouncyCastle.Utilities.Date;
  6. namespace Best.HTTP.SecureProtocol.Org.BouncyCastle.Bcpg.Sig
  7. {
  8. /**
  9. * packet giving signature creation time.
  10. */
  11. public class SignatureCreationTime
  12. : SignatureSubpacket
  13. {
  14. protected static byte[] TimeToBytes(DateTime time)
  15. {
  16. long t = DateTimeUtilities.DateTimeToUnixMs(time) / 1000L;
  17. return Pack.UInt32_To_BE((uint)t);
  18. }
  19. public SignatureCreationTime(bool critical, bool isLongLength, byte[] data)
  20. : base(SignatureSubpacketTag.CreationTime, critical, isLongLength, data)
  21. {
  22. }
  23. public SignatureCreationTime(bool critical, DateTime date)
  24. : base(SignatureSubpacketTag.CreationTime, critical, false, TimeToBytes(date))
  25. {
  26. }
  27. public DateTime GetTime()
  28. {
  29. uint time = Pack.BE_To_UInt32(data, 0);
  30. return DateTimeUtilities.UnixMsToDateTime(time * 1000L);
  31. }
  32. }
  33. }
  34. #pragma warning restore
  35. #endif