XECPublicKey (Java SE 26 & JDK 26)
Description: declaration: module: java.base, package: java.security.interfaces, interface: XECPublicKey
Keywords: java.security.interfaces.XECPublicKey interface

# Interface XECPublicKey

All Superinterfaces:
  `AsymmetricKey, DEREncodablePREVIEW, Key, PublicKey, Serializable, XECKey`

public interface XECPublicKey extends XECKey, PublicKey
An interface for an elliptic curve public key as defined by RFC 7748. These keys are distinct from the keys represented by `ECPublicKey`, and they are intended for use with algorithms based on RFC 7748 such as the XDH `KeyAgreement` algorithm. An XEC public key is a particular point on the curve, which is represented using only its u-coordinate as described in RFC 7748. A u-coordinate is an element of the field of integers modulo some value that is determined by the algorithm parameters. This field element is represented by a BigInteger which may hold any value. That is, the BigInteger is not restricted to the range of canonical field elements.

Since:
  11

- ## Field Summary

  ### Fields declared in interface PublicKey

  `serialVersionUID`
  Modifier and Type
  Field
  Description
  `static final long`
  `serialVersionUID`
  Deprecated.
  A `serialVersionUID` field in an interface is ineffectual.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `default AlgorithmParameterSpec`
  `getParams()`
  Returns the parameters associated with this key.
  `BigInteger`
  `getU()`
  Get the u coordinate of the point.

  ### Methods declared in interface Key

  `getAlgorithm, getEncoded, getFormat`
  Modifier and Type
  Method
  Description
  `String`
  `getAlgorithm()`
  Returns the standard algorithm name for this key.
  `byte[]`
  `getEncoded()`
  Returns the key in its primary encoding format, or `null` if this key does not support encoding.
  `String`
  `getFormat()`
  Returns the name of the primary encoding format of this key, or `null` if this key does not support encoding.

- ## Method Details

  - ### getU

    BigInteger getU()
    Get the u coordinate of the point.
    Returns:
      the u-coordinate, represented using a BigInteger which may hold any value

  - ### getParams

    default AlgorithmParameterSpec getParams()
    Returns the parameters associated with this key. The parameters are optional and may be either explicitly specified or implicitly created during key pair generation.
    Specified by:
      `getParams` in interface `AsymmetricKey`
    Specified by:
      `getParams` in interface `XECKey`
    Implementation Requirements:
      The default implementation returns `null`.
    Returns:
      the associated parameters, may be `null`