SigPolicyQualifierInfo.cs 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  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. /// SigPolicyQualifierInfo ::= SEQUENCE {
  10. /// sigPolicyQualifierId SigPolicyQualifierId,
  11. /// sigQualifier ANY DEFINED BY sigPolicyQualifierId
  12. /// }
  13. ///
  14. /// SigPolicyQualifierId ::= OBJECT IDENTIFIER
  15. /// </code>
  16. /// </remarks>
  17. public class SigPolicyQualifierInfo
  18. : Asn1Encodable
  19. {
  20. private readonly DerObjectIdentifier sigPolicyQualifierId;
  21. private readonly Asn1Object sigQualifier;
  22. public static SigPolicyQualifierInfo GetInstance(
  23. object obj)
  24. {
  25. if (obj == null || obj is SigPolicyQualifierInfo)
  26. return (SigPolicyQualifierInfo) obj;
  27. if (obj is Asn1Sequence)
  28. return new SigPolicyQualifierInfo((Asn1Sequence) obj);
  29. throw new ArgumentException(
  30. "Unknown object in 'SigPolicyQualifierInfo' factory: "
  31. + BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Platform.GetTypeName(obj),
  32. "obj");
  33. }
  34. private SigPolicyQualifierInfo(
  35. Asn1Sequence seq)
  36. {
  37. if (seq == null)
  38. throw new ArgumentNullException("seq");
  39. if (seq.Count != 2)
  40. throw new ArgumentException("Bad sequence size: " + seq.Count, "seq");
  41. this.sigPolicyQualifierId = (DerObjectIdentifier) seq[0].ToAsn1Object();
  42. this.sigQualifier = seq[1].ToAsn1Object();
  43. }
  44. public SigPolicyQualifierInfo(
  45. DerObjectIdentifier sigPolicyQualifierId,
  46. Asn1Encodable sigQualifier)
  47. {
  48. this.sigPolicyQualifierId = sigPolicyQualifierId;
  49. this.sigQualifier = sigQualifier.ToAsn1Object();
  50. }
  51. public DerObjectIdentifier SigPolicyQualifierId
  52. {
  53. get { return sigPolicyQualifierId; }
  54. }
  55. public Asn1Object SigQualifier
  56. {
  57. get { return sigQualifier; }
  58. }
  59. public override Asn1Object ToAsn1Object()
  60. {
  61. return new DerSequence(sigPolicyQualifierId, sigQualifier);
  62. }
  63. }
  64. }
  65. #pragma warning restore
  66. #endif