AirScout/BouncyCastle/crypto/src/asn1/BEROctetStringParser.cs

41 wiersze
963 B
C#

using System;
using System.IO;
using Org.BouncyCastle.Utilities.IO;
namespace Org.BouncyCastle.Asn1
{
public class BerOctetStringParser
: Asn1OctetStringParser
{
private readonly Asn1StreamParser _parser;
internal BerOctetStringParser(Asn1StreamParser parser)
{
_parser = parser;
}
public Stream GetOctetStream()
{
return new ConstructedOctetStream(_parser);
}
public Asn1Object ToAsn1Object()
{
try
{
return Parse(_parser);
}
catch (IOException e)
{
throw new Asn1ParsingException("IOException converting stream to byte array: " + e.Message, e);
}
}
internal static BerOctetString Parse(Asn1StreamParser sp)
{
return new BerOctetString(Streams.ReadAll(new ConstructedOctetStream(sp)));
}
}
}