TimeStampResp.cs 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. #if !BESTHTTP_DISABLE_ALTERNATE_SSL && (!UNITY_WEBGL || UNITY_EDITOR)
  2. #pragma warning disable
  3. using System;
  4. using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Cmp;
  5. using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Cms;
  6. using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
  7. namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Tsp
  8. {
  9. public class TimeStampResp
  10. : Asn1Encodable
  11. {
  12. private readonly PkiStatusInfo pkiStatusInfo;
  13. private readonly ContentInfo timeStampToken;
  14. public static TimeStampResp GetInstance(object obj)
  15. {
  16. if (obj is TimeStampResp)
  17. return (TimeStampResp)obj;
  18. if (obj == null)
  19. return null;
  20. return new TimeStampResp(Asn1Sequence.GetInstance(obj));
  21. }
  22. private TimeStampResp(
  23. Asn1Sequence seq)
  24. {
  25. this.pkiStatusInfo = PkiStatusInfo.GetInstance(seq[0]);
  26. if (seq.Count > 1)
  27. {
  28. this.timeStampToken = ContentInfo.GetInstance(seq[1]);
  29. }
  30. }
  31. public TimeStampResp(
  32. PkiStatusInfo pkiStatusInfo,
  33. ContentInfo timeStampToken)
  34. {
  35. this.pkiStatusInfo = pkiStatusInfo;
  36. this.timeStampToken = timeStampToken;
  37. }
  38. public PkiStatusInfo Status
  39. {
  40. get { return pkiStatusInfo; }
  41. }
  42. public ContentInfo TimeStampToken
  43. {
  44. get { return timeStampToken; }
  45. }
  46. /**
  47. * <pre>
  48. * TimeStampResp ::= SEQUENCE {
  49. * status PkiStatusInfo,
  50. * timeStampToken TimeStampToken OPTIONAL }
  51. * </pre>
  52. */
  53. public override Asn1Object ToAsn1Object()
  54. {
  55. Asn1EncodableVector v = new Asn1EncodableVector(pkiStatusInfo);
  56. v.AddOptional(timeStampToken);
  57. return new DerSequence(v);
  58. }
  59. }
  60. }
  61. #pragma warning restore
  62. #endif