jdk/src/share/classes/javax/security/sasl/package.html
changeset 2 90ce3da70b43
child 5506 202f599c92aa
--- /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>
+