summary refs log tree commit diff
path: root/Crypto/src/asn1/DEROctetStringParser.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Crypto/src/asn1/DEROctetStringParser.cs')
-rw-r--r--Crypto/src/asn1/DEROctetStringParser.cs36
1 files changed, 36 insertions, 0 deletions
diff --git a/Crypto/src/asn1/DEROctetStringParser.cs b/Crypto/src/asn1/DEROctetStringParser.cs
new file mode 100644

index 000000000..b0d3ad8cf --- /dev/null +++ b/Crypto/src/asn1/DEROctetStringParser.cs
@@ -0,0 +1,36 @@ +using System; +using System.IO; + +using Org.BouncyCastle.Utilities.IO; + +namespace Org.BouncyCastle.Asn1 +{ + public class DerOctetStringParser + : Asn1OctetStringParser + { + private readonly DefiniteLengthInputStream stream; + + internal DerOctetStringParser( + DefiniteLengthInputStream stream) + { + this.stream = stream; + } + + public Stream GetOctetStream() + { + return stream; + } + + public Asn1Object ToAsn1Object() + { + try + { + return new DerOctetString(stream.ToArray()); + } + catch (IOException e) + { + throw new InvalidOperationException("IOException converting stream to byte array: " + e.Message, e); + } + } + } +}