/* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at * trunk/opends/resource/legal-notices/OpenDS.LICENSE * or https://OpenDS.dev.java.net/OpenDS.LICENSE. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at * trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable, * add the following below this CDDL HEADER, with the fields enclosed * by brackets "[]" replaced with your own identifying information: * Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END * * * Copyright 2009 Sun Microsystems, Inc. */ package org.opends.sdk.sasl; import javax.security.sasl.SaslException; import org.opends.sdk.ByteString; /** * SASL context that is used for the lifetime of the SASL bound connection. */ public interface SASLContext { public void dispose() throws SaslException; /** * Returns the SASL credentials for this bind request. * * @return The SASL credentials for this bind request, or {@code null} * if there are none or if the bind does not use SASL * authentication. */ public ByteString getSASLCredentials(); public boolean evaluateCredentials(ByteString saslCredentials) throws SaslException; public boolean isComplete(); public boolean isSecure(); public byte[] unwrap(byte[] incoming, int offset, int len) throws SaslException; public byte[] wrap(byte[] outgoing, int offset, int len) throws SaslException; public SASLBindRequest getSASLBindRequest(); }