PBES2Algorithms.java
上传用户:lior1029
上传日期:2013-05-07
资源大小:209k
文件大小:2k
源码类别:

CA认证

开发平台:

Java

  1. package org.bouncycastle.asn1.pkcs;
  2. import java.util.Enumeration;
  3. import org.bouncycastle.asn1.*;
  4. import org.bouncycastle.asn1.x509.*;
  5. /**
  6.  * @deprecated - use AlgorithmIdentifier and PBES2Params
  7.  */
  8. public class PBES2Algorithms
  9.     extends AlgorithmIdentifier implements PKCSObjectIdentifiers
  10. {
  11.     private DERObjectIdentifier objectId;
  12.     private KeyDerivationFunc   func;
  13.     private EncryptionScheme    scheme;
  14.     public PBES2Algorithms(
  15.         ASN1Sequence  obj)
  16.     {
  17.         super(obj);
  18.         Enumeration     e = obj.getObjects();
  19.         objectId = (DERObjectIdentifier)e.nextElement();
  20.         ASN1Sequence seq = (ASN1Sequence)e.nextElement();
  21.         e = seq.getObjects();
  22.         ASN1Sequence  funcSeq = (ASN1Sequence)e.nextElement();
  23.         if (funcSeq.getObjectAt(0).equals(id_PBKDF2))
  24.         {
  25.             func = new PBKDF2Params(funcSeq);
  26.         }
  27.         else
  28.         {
  29.             func = new KeyDerivationFunc(funcSeq);
  30.         }
  31.         scheme = new EncryptionScheme((ASN1Sequence)e.nextElement());
  32.     }
  33.     public DERObjectIdentifier getObjectId()
  34.     {
  35.         return objectId;
  36.     }
  37.     public KeyDerivationFunc getKeyDerivationFunc()
  38.     {
  39.         return func;
  40.     }
  41.     public EncryptionScheme getEncryptionScheme()
  42.     {
  43.         return scheme;
  44.     }
  45.     public DERObject getDERObject()
  46.     {
  47.         ASN1EncodableVector  v = new ASN1EncodableVector();
  48.         ASN1EncodableVector  subV = new ASN1EncodableVector();
  49.         v.add(objectId);
  50.         subV.add(func);
  51.         subV.add(scheme);
  52.         v.add(new DERSequence(subV));
  53.         return new DERSequence(v);
  54.     }
  55. }