org.bouncycastle.crypto.params

## Class ECCSIPublicKeyParameters

- java.lang.Object
- - org.bouncycastle.crypto.params.AsymmetricKeyParameter
  - - org.bouncycastle.crypto.params.ECCSIPublicKeyParameters

- All Implemented Interfaces:
    CipherParameters

      public class ECCSIPublicKeyParameters
      extends AsymmetricKeyParameter

  Represents the public key parameters for the Elliptic Curve-based Certificateless Signature Infrastructure (ECCSI) scheme as defined in RFC 6507.

  This class encapsulates the Public Validation Token (PVT) required for verifying ECCSI signatures. The PVT is cryptographically bound to a user's identity and generated by the Key Management Service (KMS) as part of the key material.

  Per RFC 6507 Section 5.1:

  - The PVT is derived from the user's identity and KMS secret material
  - Used during signature verification to validate the signer's identity
  - Does not require certificates for authentication
  See Also:
    RFC 6507: Elliptic Curve-Based Certificateless * Signatures for Identity-Based Encryption (ECCSI)

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ECCSIPublicKeyParameters(ECPoint pvt)` Constructs `ECCSIPublicKeyParameters` with the provided Public Validation Token (PVT).

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `ECPoint` | `getPVT()` Returns the Public Validation Token (PVT) for signature verification.

    - ### Methods inherited from class org.bouncycastle.crypto.params.AsymmetricKeyParameter

      `isPrivate`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ECCSIPublicKeyParameters

          public ECCSIPublicKeyParameters(ECPoint pvt)

      Constructs `ECCSIPublicKeyParameters` with the provided Public Validation Token (PVT).

  - ### Method Detail

    - #### getPVT

          public final ECPoint getPVT()

      Returns the Public Validation Token (PVT) for signature verification.

      The PVT is used in conjunction with the KMS Public Authentication Key (KPAK) to verify signatures per RFC 6507 Section 5.2.2.

      Returns:
        The PVT as an elliptic curve point in uncompressed format