public abstract byte[] unwrap (byte[] incoming, int offset, int len) throws SaslException

Unwraps a byte array received from the server. This method can be called only after the authentication exchange has completed (i.e., when isComplete() returns true) and only if the authentication exchange has negotiated integrity and/or privacy as the quality of protection; otherwise, an IllegalStateException is thrown.

incoming is the contents of the SASL buffer as defined in RFC 2222 without the leading four octet field that represents the length. offset and len specify the portion of incoming to use.

Parameters:
incoming    A non-null byte array containing the encoded bytes from the server.
offset    The starting position at incoming of the bytes to use.
len    The number of bytes from incoming to use.

Returns:  A non-null byte array containing the decoded bytes.

Exceptions:
SaslException    if incoming cannot be successfully unwrapped.
IllegalStateException    if the authentication exchange has not completed, or if the negotiated quality of protection has neither integrity nor privacy.