SignaturePolicyIdentifier.cs 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  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.Esf
  6. {
  7. /// <remarks>
  8. /// <code>
  9. /// SignaturePolicyIdentifier ::= CHOICE {
  10. /// SignaturePolicyId SignaturePolicyId,
  11. /// SignaturePolicyImplied SignaturePolicyImplied
  12. /// }
  13. ///
  14. /// SignaturePolicyImplied ::= NULL
  15. /// </code>
  16. /// </remarks>
  17. public class SignaturePolicyIdentifier
  18. : Asn1Encodable, IAsn1Choice
  19. {
  20. private readonly SignaturePolicyId sigPolicy;
  21. public static SignaturePolicyIdentifier GetInstance(
  22. object obj)
  23. {
  24. if (obj == null || obj is SignaturePolicyIdentifier)
  25. return (SignaturePolicyIdentifier) obj;
  26. if (obj is SignaturePolicyId)
  27. return new SignaturePolicyIdentifier((SignaturePolicyId) obj);
  28. if (obj is Asn1Null)
  29. return new SignaturePolicyIdentifier();
  30. throw new ArgumentException(
  31. "Unknown object in 'SignaturePolicyIdentifier' factory: "
  32. + BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Platform.GetTypeName(obj),
  33. "obj");
  34. }
  35. public SignaturePolicyIdentifier()
  36. {
  37. this.sigPolicy = null;
  38. }
  39. public SignaturePolicyIdentifier(
  40. SignaturePolicyId signaturePolicyId)
  41. {
  42. if (signaturePolicyId == null)
  43. throw new ArgumentNullException("signaturePolicyId");
  44. this.sigPolicy = signaturePolicyId;
  45. }
  46. public SignaturePolicyId SignaturePolicyId
  47. {
  48. get { return sigPolicy; }
  49. }
  50. public override Asn1Object ToAsn1Object()
  51. {
  52. return sigPolicy == null
  53. ? DerNull.Instance
  54. : sigPolicy.ToAsn1Object();
  55. }
  56. }
  57. }
  58. #pragma warning restore
  59. #endif