Overview | Package | Class | Tree | Deprecated | Index | Help
| Bouncy Castle Cryptography Library 1.85
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.bouncycastle.crypto.agreement.owl
Class OwlServerRegistration

    java.lang.Object
      org.bouncycastle.crypto.agreement.owl.OwlServerRegistration

public class OwlServerRegistration
extends java.lang.Object

A server in the Owl key exchange protocol specifically for the user registration phase.

See `OwlClientRegistration` for more details on the user registration in Owl.

This class is stateful and NOT threadsafe. Each instance should only be used for ONE complete Owl registration phase (i.e. a new `OwlServerRegistration` and `OwlClientRegistration` should be constructed for each new Owl exchange).

Field Summary
`static boolean` | `REGISTRATION_CALLED`
`static boolean` | `REGISTRATION_NOT_CALLED`

Constructor Summary
`OwlServerRegistration(java.lang.String serverId)` Convenience constructor for a new `OwlServerRegistration` that uses the `OwlCurves.NIST_P256` elliptic curve, a SHA-256 digest, and a default `SecureRandom` implementation.
`OwlServerRegistration(java.lang.String serverId, OwlCurve curve)` Convenience constructor for a new `OwlServerRegistration` that uses a SHA-256 digest and a default `SecureRandom` implementation.
`OwlServerRegistration(java.lang.String serverId, OwlCurve curve, Digest digest, java.security.SecureRandom random)` Construct a new `OwlServerRegistration`.

Method Summary
`boolean` | `getRegistrationState()` Check's the status of the user registration I.E. whether or not this server has registered a user already.
`OwlFinishRegistration` | `registerUseronServer(OwlInitialRegistration userLoginRegistrationReceived)` Receives the payload sent by the client as part of user registration, and stores necessary values in the server.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### REGISTRATION_NOT_CALLED

    public static final boolean REGISTRATION_NOT_CALLED

See Also:
  Constant Field Values

### REGISTRATION_CALLED

    public static final boolean REGISTRATION_CALLED

See Also:
  Constant Field Values

Constructor Detail

### OwlServerRegistration

    public OwlServerRegistration(java.lang.String serverId)

  Convenience constructor for a new `OwlServerRegistration` that uses the `OwlCurves.NIST_P256` elliptic curve, a SHA-256 digest, and a default `SecureRandom` implementation.

  After construction, the `registrationState` will be `REGISTRATION_NOT_CALLED`.

Parameters:
  `serverId` - unique identifier of this server. The server and client in the exchange must NOT share the same id.
Throws:
  `java.lang.NullPointerException` - if any argument is null

### OwlServerRegistration

    public OwlServerRegistration(java.lang.String serverId,
                                 OwlCurve curve)

  Convenience constructor for a new `OwlServerRegistration` that uses a SHA-256 digest and a default `SecureRandom` implementation.

  After construction, the `registrationState` will be `REGISTRATION_NOT_CALLED`.

Parameters:
  `serverId` - unique identifier of this server. The server and client in the exchange must NOT share the same id.
  `curve` - elliptic curve See `OwlCurves` for standard curves.
Throws:
  `java.lang.NullPointerException` - if any argument is null

### OwlServerRegistration

    public OwlServerRegistration(java.lang.String serverId,
                                 OwlCurve curve,
                                 Digest digest,
                                 java.security.SecureRandom random)

  Construct a new `OwlServerRegistration`.

  After construction, the `registrationState` will be `REGISTRATION_NOT_CALLED`.

Parameters:
  `serverId` - unique identifier of this server. The client and server in the exchange must NOT share the same id.
  `curve` - elliptic curve; see `OwlCurves` for standard curves
  `digest` - digest to use during zero knowledge proofs and key confirmation (SHA-256 or stronger preferred)
  `random` - source of secure random data for x3 and x4, and for the zero knowledge proofs
Throws:
  `java.lang.NullPointerException` - if any argument is null

Method Detail

### getRegistrationState

    public boolean getRegistrationState()

  Check's the status of the user registration I.E. whether or not this server has registered a user already. See the REGSITRATION_* constants for possible values.

  Returns:
    true if the user has been registered or false otherwise

### registerUseronServer

    public OwlFinishRegistration registerUseronServer(OwlInitialRegistration userLoginRegistrationReceived)
                                               throws CryptoException

  Receives the payload sent by the client as part of user registration, and stores necessary values in the server.

  Must be called after `OwlClientRegistration.initiateUserRegistration()` by the `OwlClient`.

  Parameters:
    `userLoginRegistrationReceived` - `OwlInitialRegistration`
  Returns:
    `OwlFinishRegistration`
  Throws:
    `java.lang.IllegalStateException` - if this functions is called more than once.
    `CryptoException` - if validation of the payload fails

Overview | Package | Class | Tree | Deprecated | Index | Help
| Bouncy Castle Cryptography Library 1.85
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD