gss_unwrap3
Api function
Usage
#include <gss.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);
Arguments
- OM_uint32 * minor_status
-
(Integer, modify) Mechanism specific status code.
- const gss_ctx_id_t context_handle
-
(gss_ctx_id_t, read) Identifies the context on
which the message arrived.
- const gss_buffer_t input_message_buffer
-
(buffer, opaque, read) Protected message.
- gss_buffer_t output_message_buffer
-
(buffer, opaque, modify) Buffer to receive
unwrapped message. Storage associated with this buffer must be
freed by the application after use use with a call to
gss_release_buffer().
- int * conf_state
-
(boolean, modify, optional) Non-zero - Confidentiality
and integrity protection were used. Zero - Integrity service only
was used. Specify NULL if not required.
- gss_qop_t * qop_state
-
(gss_qop_t, modify, optional) Quality of protection
provided. Specify NULL if not required.
Overview
Converts a message previously protected by gss_wrap 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() to provide "secure framing", implementations must support the wrapping and unwrapping of zero-length messages.
Return value
`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.
Releases
11 releases since Debian 3.1 (Sarge); the text changed 7 times.