Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package org.bouncycastle.asn1.sec;
  
  
the elliptic curve private key object from SEC 1
 
 public class ECPrivateKey
     extends ASN1Object
 {
     private ASN1Sequence seq;
 
     private ECPrivateKey(
         ASN1Sequence seq)
     {
         this. = seq;
     }
 
     public static ECPrivateKey getInstance(
         Object obj)
     {
         if (obj instanceof ECPrivateKey)
         {
             return (ECPrivateKey)obj;
         }
 
         if (obj != null)
         {
             return new ECPrivateKey(ASN1Sequence.getInstance(obj));
         }
 
         return null;
     }

    

Deprecated:
use constructor which takes orderBitLength to guarantee correct encoding.
 
     public ECPrivateKey(
         BigInteger key)
     {
         this(key.bitLength(), key);
     }

    
Base constructor.

Parameters:
orderBitLength the bitLength of the order of the curve.
key the private key value.
 
     public ECPrivateKey(
         int        orderBitLength,
         BigInteger key)
     {
         byte[] bytes = BigIntegers.asUnsignedByteArray((orderBitLength + 7) / 8, key);
 
         ASN1EncodableVector v = new ASN1EncodableVector();
 
         v.add(new ASN1Integer(1));
         v.add(new DEROctetString(bytes));
 
          = new DERSequence(v);
     }

    

Deprecated:
use constructor which takes orderBitLength to guarantee correct encoding.
 
     public ECPrivateKey(
         BigInteger key,
         ASN1Encodable parameters)
     {
         this(keynullparameters);
     }

    

Deprecated:
use constructor which takes orderBitLength to guarantee correct encoding.
 
     public ECPrivateKey(
         BigInteger key,
         DERBitString publicKey,
         ASN1Encodable parameters)
     {
         this(key.bitLength(), keypublicKeyparameters);
     }
 
    public ECPrivateKey(
        int orderBitLength,
        BigInteger key,
        ASN1Encodable parameters)
    {
        this(orderBitLengthkeynullparameters);
    }
    public ECPrivateKey(
        int orderBitLength,
        BigInteger key,
        DERBitString publicKey,
        ASN1Encodable parameters)
    {
        byte[] bytes = BigIntegers.asUnsignedByteArray((orderBitLength + 7) / 8, key);
        ASN1EncodableVector v = new ASN1EncodableVector();
        v.add(new ASN1Integer(1));
        v.add(new DEROctetString(bytes));
        if (parameters != null)
        {
            v.add(new DERTaggedObject(true, 0, parameters));
        }
        if (publicKey != null)
        {
            v.add(new DERTaggedObject(true, 1, publicKey));
        }
         = new DERSequence(v);
    }
    public BigInteger getKey()
    {
        ASN1OctetString octs = (ASN1OctetString).getObjectAt(1);
        return new BigInteger(1, octs.getOctets());
    }
    public DERBitString getPublicKey()
    {
        return (DERBitString)getObjectInTag(1);
    }
    public ASN1Primitive getParameters()
    {
        return getObjectInTag(0);
    }
    private ASN1Primitive getObjectInTag(int tagNo)
    {
        Enumeration e = .getObjects();
        while (e.hasMoreElements())
        {
            ASN1Encodable obj = (ASN1Encodable)e.nextElement();
            if (obj instanceof ASN1TaggedObject)
            {
                ASN1TaggedObject tag = (ASN1TaggedObject)obj;
                if (tag.getTagNo() == tagNo)
                {
                    return tag.getObject().toASN1Primitive();
                }
            }
        }
        return null;
    }

    
ECPrivateKey ::= SEQUENCE { version INTEGER { ecPrivkeyVer1(1) } (ecPrivkeyVer1), privateKey OCTET STRING, parameters [0] Parameters OPTIONAL, publicKey [1] BIT STRING OPTIONAL }
    {
        return ;
    }
New to GrepCode? Check out our FAQ X