ECPublicKey



javacard.security
Interface ECPublicKey

All Superinterfaces:
ECKey, Key, PublicKey
All Known Implementing Classes:
ECPublicKeyImpl

public interface ECPublicKey
extends PublicKey, ECKey

The ECPublicKey interface is used to verify signatures on signed data using the ECDSA algorithm and to generate shared secrets using the ECDH algorithm. An implementation of ECPublicKey interface must also implement the ECKey interface methods.

When all components of the key (W, A, B, G, R, Field) are set, the key is initialized and ready for use.

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

See Also:
ECPrivateKey, KeyBuilder, Signature, KeyEncryption, KeyAgreement

Method Summary
 short getW(byte[] buffer, short offset)
          Returns the point of the curve comprising the public key in plain text form.
 void setW(byte[] buffer, short offset, short length)
          Sets the point of the curve comprising the public 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

setW

void setW(byte[] buffer,
          short offset,
          short length)
          throws CryptoException
Sets the point of the curve comprising the public key. The point should be specified as an octet string as per ANSI X9.62. A specific implementation need not support the compressed form, but must support the uncompressed form of the point. 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:

  • If the key object implements the javacardx.crypto.KeyEncryption interface and the Cipher object specified via setKeyCipher() is not null, the key value is decrypted using the Cipher object.

Parameters:
buffer - the input buffer
offset - the offset into the input buffer at which the point specification begins
length - the byte length of the point specification
Throws:
CryptoException - with the following reason code:
  • CryptoException.ILLEGAL_VALUE if the input parameter data format is incorrect, or if the input parameter data is inconsistent with the key length, or if input data decryption is required and fails.

getW

short getW(byte[] buffer,
           short offset)
           throws CryptoException
Returns the point of the curve comprising the public key in plain text form. The point is represented as an octet string in compressed or uncompressed forms as per ANSI X9.62. The data format is big-endian and right-aligned (the least significant bit is the least significant bit of last byte).

Parameters:
buffer - the output buffer
offset - the offset into the output buffer at which the point specification data is to begin
Returns:
the byte length of the point specificiation
Throws:
CryptoException - with the following reason code:
  • CryptoException.UNINITIALIZED_KEY if the point of the curve comprising the public key has not been successfully initialized since the time the initialized state of the key was set to false.
See Also:
Key