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

CA认证

开发平台:

Java

  1. package org.bouncycastle.asn1.pkcs;
  2. import java.math.BigInteger;
  3. import org.bouncycastle.asn1.*;
  4. public class RC2CBCParameter
  5.     implements DEREncodable
  6. {
  7.     DERInteger      version;
  8.     ASN1OctetString iv;
  9.     public static RC2CBCParameter getInstance(
  10.         Object  o)
  11.     {
  12.         if (o instanceof ASN1Sequence)
  13.         {
  14.             return new RC2CBCParameter((ASN1Sequence)o);
  15.         }
  16.         throw new IllegalArgumentException("unknown object in RC2CBCParameter factory");
  17.     }
  18.     public RC2CBCParameter(
  19.         byte[]  iv)
  20.     {
  21.         this.version = null;
  22.         this.iv = new DEROctetString(iv);
  23.     }
  24.     public RC2CBCParameter(
  25.         int     parameterVersion,
  26.         byte[]  iv)
  27.     {
  28.         this.version = new DERInteger(parameterVersion);
  29.         this.iv = new DEROctetString(iv);
  30.     }
  31.     public RC2CBCParameter(
  32.         ASN1Sequence  seq)
  33.     {
  34.         if (seq.size() == 1)
  35.         {
  36.             version = null;
  37.             iv = (ASN1OctetString)seq.getObjectAt(0);
  38.         }
  39.         else
  40.         {
  41.             version = (DERInteger)seq.getObjectAt(0);
  42.             iv = (ASN1OctetString)seq.getObjectAt(1);
  43.         }
  44.     }
  45.     public BigInteger getRC2ParameterVersion()
  46.     {
  47.         if (version == null)
  48.         {
  49.             return null;
  50.         }
  51.         return version.getValue();
  52.     }
  53.     public byte[] getIV()
  54.     {
  55.         return iv.getOctets();
  56.     }
  57.     public DERObject getDERObject()
  58.     {
  59.         ASN1EncodableVector  v = new ASN1EncodableVector();
  60.         if (version != null)
  61.         {
  62.             v.add(version);
  63.         }
  64.         v.add(iv);
  65.         return new DERSequence(v);
  66.     }
  67. }