javacard.security
Interface ECPrivateKey

All Superinterfaces:
ECKey, Key, PrivateKey

public interface ECPrivateKey
extends PrivateKey, ECKey

The ECPrivateKey interface is used to generate signatures on data using the ECDSA (Elliptic Curve Digital Signature Algorithm) and to generate shared secrets using the ECDH (Elliptic Curve Diffie-Hellman) algorithm. An implementation of ECPrivateKey interface must also implement the ECKey interface methods.

When all components of the key (S, A, B, G, R, Field) are set, the key is initialized and ready for use. In addition, the KeyAgreement algorithm type ALG_EC_SVDP_DHC requires that the cofactor, K, be initialized.

The notation used to describe parameters specific to the EC algorithm is based on the naming conventions established in [IEEE P1363].

Version:
1.0
See Also:
ECPublicKey

Method Summary
 short getS(byte[] buffer, short offset)
          Returns the value of the secret key in plaintext form.
 void setS(byte[] buffer, short offset, short length)
          Sets the value of the secret key.
 
Methods inherited from interface javacard.security.Key
clearKey, getSize, getType, isInitialized
 
Methods inherited from interface javacard.security.ECKey
getA, getB, getField, getG, getK, getR, setA, setB, setFieldF2M, setFieldF2M, setFieldFP, setG, setK, setR
 

Method Detail

getS

public short getS(byte[] buffer,
                  short offset)
           throws CryptoException
Returns the value of the secret key in plaintext form. The data format is big-endian and right-aligned (the least significant bit is the least significant bit of last byte).

Throws:
CryptoException

setS

public void setS(byte[] buffer,
                 short offset,
                 short length)
          throws CryptoException
Sets the value of the secret key. The plain text data format is big-endian and right-aligned (the least significant bit is the least significant bit of last byte). Input parameter data is copied into the internal representation.

Note:

Throws:
CryptoException


Java and all Java-based trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries.