### Method

# Gck Session unwrap_key_full

#### Declaration [src]

    GckObject*
    gck_session_unwrap_key_full (
      GckSession* self,
      GckObject* wrapper,
      GckMechanism* mechanism,
      const guchar* input,
      gsize n_input,
      GckAttributes* attrs,
      GCancellable* cancellable,
      GError** error
    )

#### Description [src]

Unwrap a key from a byte stream. This call may block for an indefinite period.

If `attrs` is a floating reference, it is consumed.

#### Parameters

`wrapper` | `GckObject`
| The key to use for unwrapping.
| The data is owned by the caller of the function.
`mechanism` | `GckMechanism`
| The mechanism to use for unwrapping.
| The data is owned by the caller of the function.
`input` | An array of `guchar`
| The wrapped data as a byte stream.
| The length of the array is specified in the `n_input` argument.
| The data is owned by the caller of the function.
`n_input` | `gsize`
| The length of the wrapped data.
`attrs` | `GckAttributes`
| Additional attributes for the unwrapped key.
| The data is owned by the caller of the function.
`cancellable` | `GCancellable`
| Optional cancellation object, or `NULL`.
| The argument can be `NULL`.
| The data is owned by the caller of the function.
`error` | `GError **`
| The return location for a `GError*`, or `NULL`.

#### Return value

Returns: | `GckObject`
| The new unwrapped key or `NULL` if the operation failed.
| The caller of the method takes ownership of the data, and is responsible for freeing it.