TimeStampTokenInfo.cs 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. #if !BESTHTTP_DISABLE_ALTERNATE_SSL && (!UNITY_WEBGL || UNITY_EDITOR)
  2. #pragma warning disable
  3. using System;
  4. using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Tsp;
  5. using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.X509;
  6. using BestHTTP.SecureProtocol.Org.BouncyCastle.Math;
  7. namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Tsp
  8. {
  9. public class TimeStampTokenInfo
  10. {
  11. private TstInfo tstInfo;
  12. private DateTime genTime;
  13. public TimeStampTokenInfo(
  14. TstInfo tstInfo)
  15. {
  16. this.tstInfo = tstInfo;
  17. try
  18. {
  19. this.genTime = tstInfo.GenTime.ToDateTime();
  20. }
  21. catch (Exception e)
  22. {
  23. throw new TspException("unable to parse genTime field: " + e.Message);
  24. }
  25. }
  26. public bool IsOrdered
  27. {
  28. get { return tstInfo.Ordering.IsTrue; }
  29. }
  30. public Accuracy Accuracy
  31. {
  32. get { return tstInfo.Accuracy; }
  33. }
  34. public DateTime GenTime
  35. {
  36. get { return genTime; }
  37. }
  38. public GenTimeAccuracy GenTimeAccuracy
  39. {
  40. get
  41. {
  42. return this.Accuracy == null
  43. ? null
  44. : new GenTimeAccuracy(this.Accuracy);
  45. }
  46. }
  47. public string Policy
  48. {
  49. get { return tstInfo.Policy.Id; }
  50. }
  51. public BigInteger SerialNumber
  52. {
  53. get { return tstInfo.SerialNumber.Value; }
  54. }
  55. public GeneralName Tsa
  56. {
  57. get { return tstInfo.Tsa; }
  58. }
  59. /**
  60. * @return the nonce value, null if there isn't one.
  61. */
  62. public BigInteger Nonce
  63. {
  64. get
  65. {
  66. return tstInfo.Nonce == null
  67. ? null
  68. : tstInfo.Nonce.Value;
  69. }
  70. }
  71. public AlgorithmIdentifier HashAlgorithm
  72. {
  73. get { return tstInfo.MessageImprint.HashAlgorithm; }
  74. }
  75. public string MessageImprintAlgOid
  76. {
  77. get { return tstInfo.MessageImprint.HashAlgorithm.Algorithm.Id; }
  78. }
  79. public byte[] GetMessageImprintDigest()
  80. {
  81. return tstInfo.MessageImprint.GetHashedMessage();
  82. }
  83. public byte[] GetEncoded()
  84. {
  85. return tstInfo.GetEncoded();
  86. }
  87. public TstInfo TstInfo
  88. {
  89. get { return tstInfo; }
  90. }
  91. }
  92. }
  93. #pragma warning restore
  94. #endif