gss_unwrap(3)

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.

  1. 3.1
  2. 4.0
  3. 5.0
  4. 6.0
  5. 7
  6. 8
  7. 9–11
  8. 12–13

Reporting bugs

Report bugs to <[email protected]>. GNU Generic Security Service home page: http://www.gnu.org/software/gss/ General help using GNU software: http://www.gnu.org/gethelp/

From gss-man 1.0.4-4 in Debian 13 (Trixie). Also shipped by heimdal-dev. Parsed by carta from the page's man source.