--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/share/classes/javax/security/sasl/package.html Sat Dec 01 00:00:00 2007 +0000
@@ -0,0 +1,114 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+<!--
+Copyright 1999-2006 Sun Microsystems, Inc. All Rights Reserved.
+DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+
+This code is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License version 2 only, as
+published by the Free Software Foundation. Sun designates this
+particular file as subject to the "Classpath" exception as provided
+by Sun in the LICENSE file that accompanied this code.
+
+This code is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+version 2 for more details (a copy is included in the LICENSE file that
+accompanied this code).
+
+You should have received a copy of the GNU General Public License version
+2 along with this work; if not, write to the Free Software Foundation,
+Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+
+Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+CA 95054 USA or visit www.sun.com if you need additional information or
+have any questions.
+-->
+</head>
+<body bgcolor="white">
+
+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.
+
+<h4>SASL Overview</h4>
+<p>
+
+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
+<A HREF="http://www.ietf.org/rfc/rfc2222.txt">RFC 2222</A>.
+
+<p>
+There are various <em>mechanisms</em> 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 <em>protocol profile</em>.
+The following are some examples of mechanims that have been defined by
+the Internet standards community.
+<ul>
+<li>DIGEST-MD5 (<A HREF="http://www.ietf.org/rfc/rfc2831.txt">RFC 2831</a>).
+This mechanism defines how HTTP Digest Authentication can be used as a SASL
+mechanism.
+<li>Anonymous (<A HREF="http://www.ietf.org/rfc/rfc2245.txt">RFC 2245</a>).
+This mechamism is anonymous authentication in which no credentials are
+necessary.
+<li>External (<A HREF="http://www.ietf.org/rfc/rfc2222.txt">RFC 2222</A>).
+This mechanism obtains authentication information
+from an external source (such as TLS or IPsec).
+<li>S/Key (<A HREF="http://www.ietf.org/rfc/rfc2222.txt">RFC 2222</A>).
+This mechanism uses the MD4 digest algorithm to exchange data based on
+a shared secret.
+<li>GSSAPI (<A HREF="http://www.ietf.org/rfc/rfc2222.txt">RFC 2222</A>).
+This mechanism uses the
+<A HREF="http://www.ietf.org/rfc/rfc2078.txt">GSSAPI</A>
+for obtaining authentication information.
+</ul>
+
+<p>
+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.
+
+<h4>Usage</h4>
+
+<p>
+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
+<tt>SaslClient</tt> and <tt>SaslClientFactory</tt> interfaces.
+Developers who write servers use the
+<tt>SaslServer</tt> and <tt>SaslServerFactory</tt> interfaces.
+<p>
+Among these two groups of users, each can be further divided into two groups:
+those who <em>produce</em> the SASL mechanisms and those
+who <em>use</em> 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.
+
+<h2>Related Documentation</h2>
+
+Please refer to the
+<a href="../../../../technotes/guides/security/sasl/sasl-refguide.html">Java
+SASL Programming Guide</a> for information on how to use this API.
+
+
+@since 1.5
+
+
+</body>
+</html>
+