IssuerKeyId.cs 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. #if !BESTHTTP_DISABLE_ALTERNATE_SSL && (!UNITY_WEBGL || UNITY_EDITOR)
  2. #pragma warning disable
  3. using System;
  4. namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Bcpg.Sig
  5. {
  6. /**
  7. * packet giving signature creation time.
  8. */
  9. public class IssuerKeyId
  10. : SignatureSubpacket
  11. {
  12. protected static byte[] KeyIdToBytes(
  13. long keyId)
  14. {
  15. byte[] data = new byte[8];
  16. data[0] = (byte)(keyId >> 56);
  17. data[1] = (byte)(keyId >> 48);
  18. data[2] = (byte)(keyId >> 40);
  19. data[3] = (byte)(keyId >> 32);
  20. data[4] = (byte)(keyId >> 24);
  21. data[5] = (byte)(keyId >> 16);
  22. data[6] = (byte)(keyId >> 8);
  23. data[7] = (byte)keyId;
  24. return data;
  25. }
  26. public IssuerKeyId(
  27. bool critical,
  28. bool isLongLength,
  29. byte[] data)
  30. : base(SignatureSubpacketTag.IssuerKeyId, critical, isLongLength, data)
  31. {
  32. }
  33. public IssuerKeyId(
  34. bool critical,
  35. long keyId)
  36. : base(SignatureSubpacketTag.IssuerKeyId, critical, false, KeyIdToBytes(keyId))
  37. {
  38. }
  39. public long KeyId
  40. {
  41. get
  42. {
  43. long keyId = ((long)(data[0] & 0xff) << 56)
  44. | ((long)(data[1] & 0xff) << 48)
  45. | ((long)(data[2] & 0xff) << 40)
  46. | ((long)(data[3] & 0xff) << 32)
  47. | ((long)(data[4] & 0xff) << 24)
  48. | ((long)(data[5] & 0xff) << 16)
  49. | ((long)(data[6] & 0xff) << 8)
  50. | ((long)data[7] & 0xff);
  51. return keyId;
  52. }
  53. }
  54. }
  55. }
  56. #pragma warning restore
  57. #endif