DERSequenceParser.java revision e6bf3e8dfa2804891a82075cb469b736321b4827
15460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liaopackage org.bouncycastle.asn1; 25460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao 35460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liaoimport java.io.IOException; 45460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao 55460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liaopublic class DERSequenceParser 65460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao implements ASN1SequenceParser 75460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao{ 85460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao private ASN1StreamParser _parser; 95460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao 105460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao DERSequenceParser(ASN1StreamParser parser) 115460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao { 12f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hines this._parser = parser; 135460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao } 145460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao 155460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao public ASN1Encodable readObject() 165460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao throws IOException 175460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao { 185460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao return _parser.readObject(); 195460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao } 205460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao 215460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao public ASN1Primitive getLoadedObject() 225460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao throws IOException 235460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao { 24f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hines return new DERSequence(_parser.readVector()); 255460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao } 265460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao 275460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao public ASN1Primitive toASN1Primitive() 285460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao { 295460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao try 305460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao { 315460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao return getLoadedObject(); 325460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao } 335460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao catch (IOException e) 345460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao { 355460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao throw new IllegalStateException(e.getMessage()); 365460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao } 375460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao } 385460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao} 395460a1f25d9ddecb5c70667267d66d51af177a99Shih-wei Liao