PollRepContent.cs 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. #if !BESTHTTP_DISABLE_ALTERNATE_SSL && (!UNITY_WEBGL || UNITY_EDITOR)
  2. #pragma warning disable
  3. using System;
  4. using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
  5. namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Cmp
  6. {
  7. public class PollRepContent
  8. : Asn1Encodable
  9. {
  10. private readonly DerInteger certReqId;
  11. private readonly DerInteger checkAfter;
  12. private readonly PkiFreeText reason;
  13. private PollRepContent(Asn1Sequence seq)
  14. {
  15. certReqId = DerInteger.GetInstance(seq[0]);
  16. checkAfter = DerInteger.GetInstance(seq[1]);
  17. if (seq.Count > 2)
  18. {
  19. reason = PkiFreeText.GetInstance(seq[2]);
  20. }
  21. }
  22. public static PollRepContent GetInstance(object obj)
  23. {
  24. if (obj is PollRepContent)
  25. return (PollRepContent)obj;
  26. if (obj is Asn1Sequence)
  27. return new PollRepContent((Asn1Sequence)obj);
  28. throw new ArgumentException("Invalid object: " + BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Platform.GetTypeName(obj), "obj");
  29. }
  30. public PollRepContent(
  31. DerInteger certReqId,
  32. DerInteger checkAfter)
  33. {
  34. this.certReqId = certReqId;
  35. this.checkAfter = checkAfter;
  36. this.reason = null;
  37. }
  38. public PollRepContent(
  39. DerInteger certReqId,
  40. DerInteger checkAfter,
  41. PkiFreeText reason)
  42. {
  43. this.certReqId = certReqId;
  44. this.checkAfter = checkAfter;
  45. this.reason = reason;
  46. }
  47. public virtual DerInteger CertReqID
  48. {
  49. get { return certReqId; }
  50. }
  51. public virtual DerInteger CheckAfter
  52. {
  53. get { return checkAfter; }
  54. }
  55. public virtual PkiFreeText Reason
  56. {
  57. get { return reason; }
  58. }
  59. /**
  60. * <pre>
  61. * PollRepContent ::= SEQUENCE OF SEQUENCE {
  62. * certReqId INTEGER,
  63. * checkAfter INTEGER, -- time in seconds
  64. * reason PKIFreeText OPTIONAL
  65. * }
  66. * </pre>
  67. * @return a basic ASN.1 object representation.
  68. */
  69. public override Asn1Object ToAsn1Object()
  70. {
  71. Asn1EncodableVector v = new Asn1EncodableVector(certReqId, checkAfter);
  72. v.AddOptional(reason);
  73. return new DerSequence(v);
  74. }
  75. }
  76. }
  77. #pragma warning restore
  78. #endif