/* * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * * * * * * * * * * * * * * * * * * * */ /** * Contains class and interfaces for supporting SASL. * * This package defines classes and interfaces for SASL mechanisms. * It is used by developers to add authentication support for * connection-based protocols that use SASL. * *

SASL Overview

* * Simple Authentication and Security Layer (SASL) specifies a * challenge-response protocol in which data is exchanged between the * client and the server for the purposes of * authentication and (optional) establishment of a security layer on * which to carry on subsequent communications. It is used with * connection-based protocols such as LDAPv3 or IMAPv4. SASL is * described in * RFC 2222. * * * There are various mechanisms defined for SASL. * Each mechanism defines the data that must be exchanged between the * client and server in order for the authentication to succeed. * This data exchange required for a particular mechanism is referred to * to as its protocol profile. * The following are some examples of mechanisms that have been defined by * the Internet standards community. * * * Some of these mechanisms provide both authentication and establishment * of a security layer, others only authentication. Anonymous and * S/Key do not provide for any security layers. GSSAPI and DIGEST-MD5 * allow negotiation of the security layer. For External, the * security layer is determined by the external protocol. * *

Usage

* * Users of this API are typically developers who produce * client library implementations for connection-based protocols, * such as LDAPv3 and IMAPv4, * and developers who write servers (such as LDAP servers and IMAP servers). * Developers who write client libraries use the * {@code SaslClient} and {@code SaslClientFactory} interfaces. * Developers who write servers use the * {@code SaslServer} and {@code SaslServerFactory} interfaces. * * Among these two groups of users, each can be further divided into two groups: * those who produce the SASL mechanisms and those * who use the SASL mechanisms. * The producers of SASL mechanisms need to provide implementations * for these interfaces, while users of the SASL mechanisms use * the APIs in this package to access those implementations. * *

Related Documentation

* * Please refer to the * Java * SASL Programming Guide for information on how to use this API. * * @since 1.5 */ package javax.security.sasl;