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

CA认证

开发平台:

Java

  1. package org.bouncycastle.asn1.sec;
  2. import java.math.BigInteger;
  3. import org.bouncycastle.asn1.*;
  4. /**
  5.  * the elliptic curve private key object from SEC 1
  6.  */
  7. public class ECPrivateKeyStructure
  8. implements DEREncodable
  9. {
  10.     private ASN1Sequence  seq;
  11.     public ECPrivateKeyStructure(
  12.         ASN1Sequence  seq)
  13.     {
  14.         this.seq = seq;
  15.     }
  16.     public ECPrivateKeyStructure(
  17.         BigInteger  key)
  18.     {
  19.         byte[]  bytes = key.toByteArray();
  20.         if (bytes[0] == 0)
  21.         {
  22.             byte[]  tmp = new byte[bytes.length - 1];
  23.             System.arraycopy(bytes, 1, tmp, 0, tmp.length);
  24.             bytes = tmp;
  25.         }
  26.         ASN1EncodableVector v = new ASN1EncodableVector();
  27.         v.add(new DERInteger(1));
  28.         v.add(new DEROctetString(bytes));
  29.         seq = new DERSequence(v);
  30.     }
  31.     public BigInteger getKey()
  32.     {
  33.         ASN1OctetString  octs = (ASN1OctetString)seq.getObjectAt(1);
  34.         BigInteger  k = new BigInteger(1, octs.getOctets());
  35.         return k;
  36.     }
  37.     public DERObject getDERObject()
  38.     {
  39.         return seq;
  40.     }
  41. }