GSS_UNWRAP(3GSS) Generic Security Services API Library Functions
NAME
gss_unwrap - verify a message with attached cryptographic message
SYNOPSIS
cc [
flag... ]
file...
-lgss [
library... ]
#include <gssapi/gssapi.h>
OM_uint32 gss_unwrap(
OM_uint32 *minor_status,
const gss_ctx_id_t context_handle,
const gss_buffer_t input_message_buffer,
gss_buffer_t output_message_buffer,
int *conf_state,
gss_qop_t *qop_state);
DESCRIPTION
The
gss_unwrap() function converts a message previously protected by
gss_wrap(3GSS) back to a usable form, verifying the embedded
MIC.
The
conf_state parameter indicates whether the message was encrypted;
the
qop_state parameter indicates the strength of protection that was
used to provide the confidentiality and integrity services.
Since some application-level protocols may wish to use tokens emitted
by
gss_wrap(3GSS) to provide secure framing, the
GSS-API supports the
wrapping and unwrapping of zero-length messages.
PARAMETERS
The parameter descriptions for
gss_unwrap() follow:
minor_status The status code returned by the underlying
mechanism.
context_handle Identifies the context on which the message
arrived.
input_message_buffer The message to be protected.
output_message_buffer The buffer to receive the unwrapped message.
Storage associated with this buffer must be
freed by the application after use with a
call to
gss_release_buffer(3GSS).
conf_state If the value of
conf_state is non-zero, then
confidentiality and integrity protection
were used. If the value is zero, only
integrity service was used. Specify
NULL if
this parameter is not required.
qop_state Specifies the quality of protection
provided. Specify
NULL if this parameter is
not required.
ERRORS
gss_unwrap() may return the following status codes:
GSS_S_COMPLETE Successful completion.
GSS_S_DEFECTIVE_TOKEN The token failed consistency checks.
GSS_S_BAD_SIG The
MIC was incorrect.
GSS_S_DUPLICATE_TOKEN The token was valid, and contained a correct
MIC for the message, but it had already been
processed.
GSS_S_OLD_TOKEN The token was valid, and contained a correct
MIC for the message, but it is too old to
check for duplication.
GSS_S_UNSEQ_TOKEN The token was valid, and contained a correct
MIC for the message, but has been verified
out of sequence; a later token has already
been received.
GSS_S_GAP_TOKEN The token was valid, and contained a correct
MIC for the message, but has been verified
out of sequence; an earlier expected token
has not yet been received.
GSS_S_CONTEXT_EXPIRED The context has already expired.
GSS_S_NO_CONTEXT The
context_handle parameter did not
identify a valid context.
GSS_S_FAILURE The underlying mechanism detected an error
for which no specific
GSS status code is
defined. The mechanism-specific status code
reported by means of the
minor_status parameter details the error condition.
ATTRIBUTES
See
attributes(7) for descriptions of the following attributes:
+---------------+-----------------+
|ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+---------------+-----------------+
|MT-Level | Safe |
+---------------+-----------------+
SEE ALSO
gss_release_buffer(3GSS),
gss_wrap(3GSS),
attributes(7) Solaris Security for Developers Guide January 15, 2003 GSS_UNWRAP(3GSS)