Home | History | Annotate | Download | only in pkcs
      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