---
name: "gss_unwrap"
section: "3"
platform: "linux"
package: "gss-man"
version: "1.0.4-4"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/gss_unwrap"
---

# gss\_unwrap(3)

API function

## NAME

gss\_unwrap - API function

## SYNOPSIS

**#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.

## DESCRIPTION

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.

## REPORTING BUGS

Report bugs to \<bug-gss@gnu.org\>. GNU Generic Security Service home page: http://www.gnu.org/software/gss/ General help using GNU software: http://www.gnu.org/gethelp/

## COPYRIGHT

Copyright © 2003-2022 Simon Josefsson.\
 Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved.

## SEE ALSO

The full documentation for **gss** is maintained as a Texinfo manual.  If the **info** and **gss** programs are properly installed at your site, the command

-

  **info gss**

should give you access to the complete manual.
