For the latest news and information visit The GNU Crypto project

## javax.security.sasl
Interface SaslServerFactory

All Known Implementing Classes:
  ServerFactory

public interface SaslServerFactory

An interface for creating instances of `SaslServer`. A class that implements this interface must be thread-safe and handle multiple simultaneous requests. It must also have a public constructor that accepts no arguments.

This interface is not normally accessed directly by a server, which will use the `Sasl` static methods to create a `SaslServer` instance instead. However, a particular environment may provide and install a new or different `SaslServerFactory`.

See Also:
  `SaslServer`, `Sasl`

Method Summary
`SaslServer` `createSaslServer(java.lang.String mechanism, java.lang.String protocol, java.lang.String serverName, java.util.Map props, CallbackHandler cbh)` Creates a `SaslServer` instance using the parameters supplied.
`java.lang.String[]` `getMechanismNames(java.util.Map props)` Returns an array of names of mechanisms that match the specified mechanism selection policies.

Method Detail

### createSaslServer

    public SaslServer createSaslServer(java.lang.String mechanism,
                                       java.lang.String protocol,
                                       java.lang.String serverName,
                                       java.util.Map props,
                                       CallbackHandler cbh)
                                throws SaslException

  Creates a `SaslServer` instance using the parameters supplied. It returns `null` if no `SaslServer` instance can be created using the parameters supplied. Throws `SaslException` if it cannot create a `SaslServer` because of an error.

  Parameters:
    `mechanism` - the non-null IANA-registered name of a SASL mechanism (e.g. "GSSAPI", "CRAM-MD5").
    `protocol` - the non-null string name of the protocol for which the authentication is being performed (e.g. "ldap").
    `serverName` - the non-null fully qualified host name of the server to authenticate to.
    `props` - the possibly null set of properties used to select the SASL mechanism and to configure the authentication exchange of the selected mechanism. See the `Sasl` class for a list of standard properties. Other, possibly mechanism-specific, properties can be included. Properties not relevant to the selected mechanism are ignored.
    `cbh` - the possibly null callback handler to used by the SASL mechanisms to get further information from the application/library to complete the authentication. For example, a SASL mechanism might require the authentication ID, password and realm from the caller. The authentication ID is requested by using a `NameCallback`. The password is requested by using a `PasswordCallback`. The realm is requested by using a `RealmChoiceCallback` if there is a list of realms to choose from, and by using a `RealmCallback` if the realm must be entered.
  Returns:
    a possibly null `SaslServer` created using the parameters supplied. If `null` is returned, it means that this factory cannot produce a `SaslServer` using the parameters supplied.
  Throws:
    `SaslException` - if a SaslServer instance cannot be created because of an error.

### getMechanismNames

    public java.lang.String[] getMechanismNames(java.util.Map props)

  Returns an array of names of mechanisms that match the specified mechanism selection policies.

  Parameters:
    `props` - the possibly `null` set of properties used to specify the security policy of the SASL mechanisms. For example, if props contains the `Sasl.POLICY_NOPLAINTEXT` property with the value `"true"`, then the factory must not return any SASL mechanisms that are susceptible to simple plain passive attacks. See the `Sasl` class for a complete list of policy properties. Non-policy related properties, if present in props, are ignored.
  Returns:
    a non-null array containing IANA-registered SASL mechanism names.

For the latest news and information visit The GNU Crypto project

Copyright © 2001, 2002, 2003, 2004 Free Software Foundation, Inc.