001package org.apache.commons.ssl.org.bouncycastle.asn1; 002 003import java.io.IOException; 004import java.io.InputStream; 005 006import org.bouncycastle.util.io.Streams; 007 008public class BEROctetStringParser 009 implements ASN1OctetStringParser 010{ 011 private ASN1StreamParser _parser; 012 013 BEROctetStringParser( 014 ASN1StreamParser parser) 015 { 016 _parser = parser; 017 } 018 019 public InputStream getOctetStream() 020 { 021 return new ConstructedOctetStream(_parser); 022 } 023 024 public ASN1Primitive getLoadedObject() 025 throws IOException 026 { 027 return new BEROctetString(Streams.readAll(getOctetStream())); 028 } 029 030 public ASN1Primitive toASN1Primitive() 031 { 032 try 033 { 034 return getLoadedObject(); 035 } 036 catch (IOException e) 037 { 038 throw new ASN1ParsingException("IOException converting stream to byte array: " + e.getMessage(), e); 039 } 040 } 041}