BEROctetStringParser.cs 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #if !BESTHTTP_DISABLE_ALTERNATE_SSL && (!UNITY_WEBGL || UNITY_EDITOR)
  2. #pragma warning disable
  3. using System;
  4. using System.IO;
  5. using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.IO;
  6. namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1
  7. {
  8. public class BerOctetStringParser
  9. : Asn1OctetStringParser
  10. {
  11. private readonly Asn1StreamParser _parser;
  12. internal BerOctetStringParser(Asn1StreamParser parser)
  13. {
  14. _parser = parser;
  15. }
  16. public Stream GetOctetStream()
  17. {
  18. return new ConstructedOctetStream(_parser);
  19. }
  20. public Asn1Object ToAsn1Object()
  21. {
  22. try
  23. {
  24. return Parse(_parser);
  25. }
  26. catch (IOException e)
  27. {
  28. throw new Asn1ParsingException("IOException converting stream to byte array: " + e.Message, e);
  29. }
  30. }
  31. internal static BerOctetString Parse(Asn1StreamParser sp)
  32. {
  33. return new BerOctetString(Streams.ReadAll(new ConstructedOctetStream(sp)));
  34. }
  35. }
  36. }
  37. #pragma warning restore
  38. #endif