Interface ECPublicKey

  • All Superinterfaces:
    ECKey, Key, PublicKey

    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, javacardx.crypto.KeyEncryption, KeyAgreement
    • 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 length parameter is 0 or invalid or 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