1 package org.bouncycastle.asn1.pkcs; 2 3 import org.bouncycastle.asn1.ASN1EncodableVector; 4 import org.bouncycastle.asn1.ASN1Sequence; 5 import org.bouncycastle.asn1.DEREncodable; 6 import org.bouncycastle.asn1.DERObject; 7 import org.bouncycastle.asn1.DERObjectIdentifier; 8 import org.bouncycastle.asn1.DERSequence; 9 import org.bouncycastle.asn1.x509.AlgorithmIdentifier; 10 11 public class EncryptionScheme 12 extends AlgorithmIdentifier 13 { 14 public EncryptionScheme( 15 DERObjectIdentifier objectId, 16 DEREncodable parameters) 17 { 18 super(objectId, parameters); 19 } 20 21 EncryptionScheme( 22 ASN1Sequence seq) 23 { 24 this((DERObjectIdentifier)seq.getObjectAt(0), seq.getObjectAt(1)); 25 } 26 27 public static final AlgorithmIdentifier getInstance(Object obj) 28 { 29 if (obj instanceof EncryptionScheme) 30 { 31 return (EncryptionScheme)obj; 32 } 33 else if (obj instanceof ASN1Sequence) 34 { 35 return new EncryptionScheme((ASN1Sequence)obj); 36 } 37 38 throw new IllegalArgumentException("unknown object in factory: " + obj.getClass().getName()); 39 } 40 41 public DERObject getObject() 42 { 43 return (DERObject)getParameters(); 44 } 45 46 public DERObject getDERObject() 47 { 48 ASN1EncodableVector v = new ASN1EncodableVector(); 49 50 v.add(getObjectId()); 51 v.add(getParameters()); 52 53 return new DERSequence(v); 54 } 55 } 56