diff options
Diffstat (limited to 'core/src/main/java/org/bouncycastle/asn1/BEROctetStringParser.java')
-rw-r--r-- | core/src/main/java/org/bouncycastle/asn1/BEROctetStringParser.java | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/core/src/main/java/org/bouncycastle/asn1/BEROctetStringParser.java b/core/src/main/java/org/bouncycastle/asn1/BEROctetStringParser.java new file mode 100644 index 00000000..1c7132e5 --- /dev/null +++ b/core/src/main/java/org/bouncycastle/asn1/BEROctetStringParser.java @@ -0,0 +1,41 @@ +package org.bouncycastle.asn1; + +import java.io.IOException; +import java.io.InputStream; + +import org.bouncycastle.util.io.Streams; + +public class BEROctetStringParser + implements ASN1OctetStringParser +{ + private ASN1StreamParser _parser; + + BEROctetStringParser( + ASN1StreamParser parser) + { + _parser = parser; + } + + public InputStream getOctetStream() + { + return new ConstructedOctetStream(_parser); + } + + public ASN1Primitive getLoadedObject() + throws IOException + { + return new BEROctetString(Streams.readAll(getOctetStream())); + } + + public ASN1Primitive toASN1Primitive() + { + try + { + return getLoadedObject(); + } + catch (IOException e) + { + throw new ASN1ParsingException("IOException converting stream to byte array: " + e.getMessage(), e); + } + } +} |