# Package org.eclipse.net4j.util.security

Interfaces and classes for security, negotiation, authentication, authorization and cryptography.

- Interface Summary
  Interface | Description
  --- | ---
  IAuthenticator | Authenticates users.
  IAuthenticator2 | Extension interface for authenticators that can update user credentials in addition to authenticating them.
  IChallengeResponse |
  ICredentials |
  ICredentialsProvider |
  ICredentialsProvider2 |
  INegotiationContext |
  INegotiationContext.Receiver |
  INegotiator |
  INegotiatorAware |
  IPasswordCredentials |
  IPasswordCredentialsProvider |
  IPasswordCredentialsProvider.Provider | Interface implemented by protocol objects that can supply an `IPasswordCredentialsProvider`.
  IPasswordCredentialsProvider2 |
  IPasswordCredentialsUpdate | Password credentials with an update (new password) in addition to the usual user ID and password for authentication of the password change.
  IPasswordCredentialsUpdateProvider | Interface for providers of password credentials updates.
  IRandomizer |
  IUserAware |
  IUserManager |

- Class Summary
  Class | Description
  --- | ---
  AuthenticatorFactory |
  ChallengeNegotiator |
  ChallengeNegotiatorConfigurer |
  ChallengeNegotiatorFactory |
  ChallengeResponseNegotiator |
  Credentials |
  CredentialsProviderFactory |
  DiffieHellman | Executes the Diffie-Hellman key agreement protocol between 2 parties: `DiffieHellman.Server` and `DiffieHellman.Client`.
  DiffieHellman.Client | Executes the client-side of the Diffie-Hellman key agreement protocol.
  DiffieHellman.Client.Response |
  DiffieHellman.ParameterSpecGenerator | Creates Diffie-Hellman parameters.
  DiffieHellman.Server | Executes the server-side of the Diffie-Hellman key agreement protocol.
  DiffieHellman.Server.Challenge |
  DiffieHellman.SkipParameterSpec |
  FileAuthenticatorFactory | TODO Consider file attributes when creating initially empty file
  FileUserManager |
  FileUserManagerFactory | TODO Consider file attributes when creating initially empty file
  NegotiationContext |
  Negotiator<STATE extends java.lang.Enum<?>,​EVENT extends java.lang.Enum<?>> |
  NegotiatorFactory |
  PasswordCredentials |
  PasswordCredentialsProvider |
  PasswordCredentialsProvider.Delegating |
  PasswordCredentialsUpdate | Default implementation of the `IPasswordCredentialsUpdate` interface.
  Randomizer |
  RandomizerFactory |
  ResponseNegotiator |
  ResponseNegotiatorFactory |
  ResponseNegotiatorInjector |
  SecurityUtil |
  UserManager |
  UserManagerAuthenticator |
  UserManagerFactory |

- Enum Summary
  Enum | Description
  --- | ---
  CredentialsUpdateOperation |
  IChallengeResponse.Event |
  IChallengeResponse.State |

- Exception Summary
  Exception | Description
  --- | ---
  NegotiationException |
  NotAuthenticatedException | An unchecked `security exception` indicating that a user has canceled an attempt to authenticate himself.