Site Tools


Sidebar

Smart Card Solution

User Manual

JavaCard API Samples

Java Card Specification

Knowledge Sharing

javacard:java-card-api:ecpublickey

javacard.security

Interface ECPublicKey

All Superinterfaces: ECKey , Key , PublicKey


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].

Version:

1.0 

See Also:ECPrivateKey , KeyBuilder , Signature , javacardx.crypto.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 specification

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

javacard/java-card-api/ecpublickey.txt · Last modified: 2017/05/13 04:04 (external edit)