DLBitString.cs 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. #if !BESTHTTP_DISABLE_ALTERNATE_SSL && (!UNITY_WEBGL || UNITY_EDITOR)
  2. #pragma warning disable
  3. using System;
  4. namespace Best.HTTP.SecureProtocol.Org.BouncyCastle.Asn1
  5. {
  6. /// <summary>A Definite length BIT STRING</summary>
  7. public class DLBitString
  8. : DerBitString
  9. {
  10. public DLBitString(byte data, int padBits)
  11. : base(data, padBits)
  12. {
  13. }
  14. public DLBitString(byte[] data)
  15. : this(data, 0)
  16. {
  17. }
  18. public DLBitString(byte[] data, int padBits)
  19. : base(data, padBits)
  20. {
  21. }
  22. public DLBitString(int namedBits)
  23. : base(namedBits)
  24. {
  25. }
  26. public DLBitString(Asn1Encodable obj)
  27. : this(obj.GetDerEncoded(), 0)
  28. {
  29. }
  30. internal DLBitString(byte[] contents, bool check)
  31. : base(contents, check)
  32. {
  33. }
  34. internal override IAsn1Encoding GetEncoding(int encoding)
  35. {
  36. if (Asn1OutputStream.EncodingDer == encoding)
  37. return base.GetEncoding(encoding);
  38. return new PrimitiveEncoding(Asn1Tags.Universal, Asn1Tags.BitString, contents);
  39. }
  40. internal override IAsn1Encoding GetEncodingImplicit(int encoding, int tagClass, int tagNo)
  41. {
  42. if (Asn1OutputStream.EncodingDer == encoding)
  43. return base.GetEncodingImplicit(encoding, tagClass, tagNo);
  44. return new PrimitiveEncoding(tagClass, tagNo, contents);
  45. }
  46. }
  47. }
  48. #pragma warning restore
  49. #endif