public final class

ECPrivateKeyImpl

extends PKCS8Key
implements ECPrivateKey
java.lang.Object
   ↳ sun.security.pkcs.PKCS8Key
     ↳ sun.security.ec.ECPrivateKeyImpl

Class Overview

Key implementation for EC private keys. ASN.1 syntax for EC private keys from SEC 1 v1.5 (draft):

 EXPLICIT TAGS

 ECPrivateKey ::= SEQUENCE {
   version INTEGER { ecPrivkeyVer1(1) } (ecPrivkeyVer1),
   privateKey OCTET STRING,
   parameters [0] ECDomainParameters {{ SECGCurveNames }} OPTIONAL,
   publicKey [1] BIT STRING OPTIONAL
 }
 
We currently ignore the optional parameters and publicKey fields. We require that the parameters are encoded as part of the AlgorithmIdentifier, not in the private key structure.

Summary

[Expand]
Inherited Constants
From interface java.security.Key
From interface java.security.PrivateKey
From interface java.security.interfaces.ECPrivateKey
[Expand]
Inherited Fields
From class sun.security.pkcs.PKCS8Key
Public Constructors
ECPrivateKeyImpl(byte[] encoded)
Construct a key from its encoding.
ECPrivateKeyImpl(BigInteger s, ECParameterSpec params)
Construct a key from its components.
Public Methods
String getAlgorithm()
Returns the algorithm to be used with this key.
ECParameterSpec getParams()
Returns the domain parameters associated with this key.
BigInteger getS()
Returns the private value S.
String toString()
Returns a string representation of the object.
Protected Methods
void parseKeyBits()
Parse the key.
[Expand]
Inherited Methods
From class sun.security.pkcs.PKCS8Key
From class java.lang.Object
From interface java.security.Key
From interface java.security.interfaces.ECKey
From interface java.security.interfaces.ECPrivateKey

Public Constructors

public ECPrivateKeyImpl (byte[] encoded)

Construct a key from its encoding. Called by the ECKeyFactory and the SunPKCS11 code.

public ECPrivateKeyImpl (BigInteger s, ECParameterSpec params)

Construct a key from its components. Used by the KeyFactory and the SunPKCS11 code.

Public Methods

public String getAlgorithm ()

Returns the algorithm to be used with this key.

Returns
  • the name of the algorithm associated with this key.

public ECParameterSpec getParams ()

Returns the domain parameters associated with this key. The domain parameters are either explicitly specified or implicitly created during key generation.

Returns
  • the associated domain parameters.

public BigInteger getS ()

Returns the private value S.

Returns
  • the private value S.

public String toString ()

Returns a string representation of the object. In general, the toString method returns a string that "textually represents" this object. The result should be a concise but informative representation that is easy for a person to read. It is recommended that all subclasses override this method.

The toString method for class Object returns a string consisting of the name of the class of which the object is an instance, the at-sign character `@', and the unsigned hexadecimal representation of the hash code of the object. In other words, this method returns a string equal to the value of:

 getClass().getName() + '@' + Integer.toHexString(hashCode())
 

Returns
  • a string representation of the object.

Protected Methods

protected void parseKeyBits ()

Parse the key. Called by PKCS8Key.