1package org.bouncycastle.asn1; 2 3import java.io.IOException; 4 5public class DERExternalParser 6 implements DEREncodable, InMemoryRepresentable 7{ 8 private ASN1StreamParser _parser; 9 10 /** 11 * 12 */ 13 public DERExternalParser(ASN1StreamParser parser) 14 { 15 this._parser = parser; 16 } 17 18 public DEREncodable readObject() 19 throws IOException 20 { 21 return _parser.readObject(); 22 } 23 24 public DERObject getLoadedObject() 25 throws IOException 26 { 27 try 28 { 29 return new DERExternal(_parser.readVector()); 30 } 31 catch (IllegalArgumentException e) 32 { 33 throw new ASN1Exception(e.getMessage(), e); 34 } 35 } 36 37 public DERObject getDERObject() 38 { 39 try 40 { 41 return getLoadedObject(); 42 } 43 catch (IOException ioe) 44 { 45 throw new ASN1ParsingException("unable to get DER object", ioe); 46 } 47 catch (IllegalArgumentException ioe) 48 { 49 throw new ASN1ParsingException("unable to get DER object", ioe); 50 } 51 } 52} 53