TimeStampTokenEvidence.cs 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. #if !BESTHTTP_DISABLE_ALTERNATE_SSL && (!UNITY_WEBGL || UNITY_EDITOR)
  2. #pragma warning disable
  3. using System;
  4. namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Cms
  5. {
  6. public class TimeStampTokenEvidence
  7. : Asn1Encodable
  8. {
  9. private TimeStampAndCrl[] timeStampAndCrls;
  10. public TimeStampTokenEvidence(TimeStampAndCrl[] timeStampAndCrls)
  11. {
  12. this.timeStampAndCrls = timeStampAndCrls;
  13. }
  14. public TimeStampTokenEvidence(TimeStampAndCrl timeStampAndCrl)
  15. {
  16. this.timeStampAndCrls = new TimeStampAndCrl[]{ timeStampAndCrl };
  17. }
  18. private TimeStampTokenEvidence(Asn1Sequence seq)
  19. {
  20. this.timeStampAndCrls = new TimeStampAndCrl[seq.Count];
  21. int count = 0;
  22. foreach (Asn1Encodable ae in seq)
  23. {
  24. this.timeStampAndCrls[count++] = TimeStampAndCrl.GetInstance(ae.ToAsn1Object());
  25. }
  26. }
  27. public static TimeStampTokenEvidence GetInstance(Asn1TaggedObject tagged, bool isExplicit)
  28. {
  29. return GetInstance(Asn1Sequence.GetInstance(tagged, isExplicit));
  30. }
  31. public static TimeStampTokenEvidence GetInstance(object obj)
  32. {
  33. if (obj is TimeStampTokenEvidence)
  34. return (TimeStampTokenEvidence)obj;
  35. if (obj != null)
  36. return new TimeStampTokenEvidence(Asn1Sequence.GetInstance(obj));
  37. return null;
  38. }
  39. public virtual TimeStampAndCrl[] ToTimeStampAndCrlArray()
  40. {
  41. return (TimeStampAndCrl[])timeStampAndCrls.Clone();
  42. }
  43. /**
  44. * <pre>
  45. * TimeStampTokenEvidence ::=
  46. * SEQUENCE SIZE(1..MAX) OF TimeStampAndCrl
  47. * </pre>
  48. * @return
  49. */
  50. public override Asn1Object ToAsn1Object()
  51. {
  52. return new DerSequence(timeStampAndCrls);
  53. }
  54. }
  55. }
  56. #pragma warning restore
  57. #endif