RevAnnContent.cs 2.4 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.Asn1.Crmf;
  5. using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.X509;
  6. using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
  7. namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Cmp
  8. {
  9. public class RevAnnContent
  10. : Asn1Encodable
  11. {
  12. private readonly PkiStatusEncodable status;
  13. private readonly CertId certId;
  14. private readonly DerGeneralizedTime willBeRevokedAt;
  15. private readonly DerGeneralizedTime badSinceDate;
  16. private readonly X509Extensions crlDetails;
  17. private RevAnnContent(Asn1Sequence seq)
  18. {
  19. status = PkiStatusEncodable.GetInstance(seq[0]);
  20. certId = CertId.GetInstance(seq[1]);
  21. willBeRevokedAt = DerGeneralizedTime.GetInstance(seq[2]);
  22. badSinceDate = DerGeneralizedTime.GetInstance(seq[3]);
  23. if (seq.Count > 4)
  24. {
  25. crlDetails = X509Extensions.GetInstance(seq[4]);
  26. }
  27. }
  28. public static RevAnnContent GetInstance(object obj)
  29. {
  30. if (obj is RevAnnContent)
  31. return (RevAnnContent)obj;
  32. if (obj is Asn1Sequence)
  33. return new RevAnnContent((Asn1Sequence)obj);
  34. throw new ArgumentException("Invalid object: " + BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Platform.GetTypeName(obj), "obj");
  35. }
  36. public virtual PkiStatusEncodable Status
  37. {
  38. get { return status; }
  39. }
  40. public virtual CertId CertID
  41. {
  42. get { return certId; }
  43. }
  44. public virtual DerGeneralizedTime WillBeRevokedAt
  45. {
  46. get { return willBeRevokedAt; }
  47. }
  48. public virtual DerGeneralizedTime BadSinceDate
  49. {
  50. get { return badSinceDate; }
  51. }
  52. public virtual X509Extensions CrlDetails
  53. {
  54. get { return crlDetails; }
  55. }
  56. /**
  57. * <pre>
  58. * RevAnnContent ::= SEQUENCE {
  59. * status PKIStatus,
  60. * certId CertId,
  61. * willBeRevokedAt GeneralizedTime,
  62. * badSinceDate GeneralizedTime,
  63. * crlDetails Extensions OPTIONAL
  64. * -- extra CRL details (e.g., crl number, reason, location, etc.)
  65. * }
  66. * </pre>
  67. * @return a basic ASN.1 object representation.
  68. */
  69. public override Asn1Object ToAsn1Object()
  70. {
  71. Asn1EncodableVector v = new Asn1EncodableVector(status, certId, willBeRevokedAt, badSinceDate);
  72. v.AddOptional(crlDetails);
  73. return new DerSequence(v);
  74. }
  75. }
  76. }
  77. #pragma warning restore
  78. #endif