OwlFinishRegistration (Bouncy Castle Library 1.85 API Specification)
Date: 2026-07-12

org.bouncycastle.crypto.agreement.owl

## Class OwlFinishRegistration

- java.lang.Object
- - org.bouncycastle.crypto.agreement.owl.OwlFinishRegistration

-     public class OwlFinishRegistration
      extends java.lang.Object

  The final payload generated by the `OwlServerRegistration` during the user registration of a Owl exchange. This payload is to be stored securely by the server.

  Each `OwlServerRegistration` creates and sends an instance of this payload to be stored securely. The payload to send should be created via `OwlServerRegistration.registerUseronServer(OwlInitialRegistration)`.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `OwlFinishRegistration(java.lang.String clientId, ECSchnorrZKP knowledgeProofForX3, ECPoint gx3, java.math.BigInteger pi, ECPoint gt)` Constructor of OwlFinishRegistration

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.String` | `getClientId()` Get the client identity
    `ECPoint` | `getGt()` Get T = t * [G]
    `ECPoint` | `getGx3()` Get X3 = x3 * [G]
    `ECSchnorrZKP` | `getKnowledgeProofForX3()` Get the zero-knowledge proof for the knowledge of x3 for X3 = x3 * [G]
    `java.math.BigInteger` | `getPi()` Get pi = H(t), where t = H(Username||password) mod(n)

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

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

- - ### Constructor Detail

    - #### OwlFinishRegistration

          public OwlFinishRegistration(java.lang.String clientId,
                                       ECSchnorrZKP knowledgeProofForX3,
                                       ECPoint gx3,
                                       java.math.BigInteger pi,
                                       ECPoint gt)

      Constructor of OwlFinishRegistration
      Parameters:
        `clientId` - The client identity (or username)
        `knowledgeProofForX3` - The zero-knowledge proof for the knowledge of x3 for X3
        `gx3` - The public key X3= [G] * x3
        `pi` - pi = H(t) where t=H(username || password) mod n
        `gt` - T = t * [G]

  - ### Method Detail

    - #### getClientId

          public java.lang.String getClientId()

      Get the client identity
      Returns:
        The client identity

    - #### getPi

          public java.math.BigInteger getPi()

      Get pi = H(t), where t = H(Username||password) mod(n)
      Returns:
        pi

    - #### getGt

          public ECPoint getGt()

      Get T = t * [G]
      Returns:
        T

    - #### getGx3

          public ECPoint getGx3()

      Get X3 = x3 * [G]
      Returns:
        X3

    - #### getKnowledgeProofForX3

          public ECSchnorrZKP getKnowledgeProofForX3()

      Get the zero-knowledge proof for the knowledge of x3 for X3 = x3 * [G]
      Returns:
        `ECSchnorrZKP`