PKIStatus.cs 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. #if !BESTHTTP_DISABLE_ALTERNATE_SSL && (!UNITY_WEBGL || UNITY_EDITOR)
  2. #pragma warning disable
  3. using System;
  4. using BestHTTP.SecureProtocol.Org.BouncyCastle.Math;
  5. using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities;
  6. namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Cmp
  7. {
  8. public enum PkiStatus
  9. {
  10. Granted = 0,
  11. GrantedWithMods = 1,
  12. Rejection = 2,
  13. Waiting = 3,
  14. RevocationWarning = 4,
  15. RevocationNotification = 5,
  16. KeyUpdateWarning = 6,
  17. }
  18. public class PkiStatusEncodable
  19. : Asn1Encodable
  20. {
  21. public static readonly PkiStatusEncodable granted = new PkiStatusEncodable(PkiStatus.Granted);
  22. public static readonly PkiStatusEncodable grantedWithMods = new PkiStatusEncodable(PkiStatus.GrantedWithMods);
  23. public static readonly PkiStatusEncodable rejection = new PkiStatusEncodable(PkiStatus.Rejection);
  24. public static readonly PkiStatusEncodable waiting = new PkiStatusEncodable(PkiStatus.Waiting);
  25. public static readonly PkiStatusEncodable revocationWarning = new PkiStatusEncodable(PkiStatus.RevocationWarning);
  26. public static readonly PkiStatusEncodable revocationNotification = new PkiStatusEncodable(PkiStatus.RevocationNotification);
  27. public static readonly PkiStatusEncodable keyUpdateWaiting = new PkiStatusEncodable(PkiStatus.KeyUpdateWarning);
  28. private readonly DerInteger status;
  29. private PkiStatusEncodable(PkiStatus status)
  30. : this(new DerInteger((int)status))
  31. {
  32. }
  33. private PkiStatusEncodable(DerInteger status)
  34. {
  35. this.status = status;
  36. }
  37. public static PkiStatusEncodable GetInstance(object obj)
  38. {
  39. if (obj is PkiStatusEncodable)
  40. return (PkiStatusEncodable)obj;
  41. if (obj is DerInteger)
  42. return new PkiStatusEncodable((DerInteger)obj);
  43. throw new ArgumentException("Invalid object: " + BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Platform.GetTypeName(obj), "obj");
  44. }
  45. public virtual BigInteger Value
  46. {
  47. get { return status.Value; }
  48. }
  49. public override Asn1Object ToAsn1Object()
  50. {
  51. return status;
  52. }
  53. }
  54. }
  55. #pragma warning restore
  56. #endif