### Method

# Gck Session decrypt

#### Declaration [src]

    guchar*
    gck_session_decrypt (
      GckSession* self,
      GckObject* key,
      gulong mech_type,
      const guchar* input,
      gsize n_input,
      gsize* n_result,
      GCancellable* cancellable,
      GError** error
    )

#### Description [src]

Decrypt data in a mechanism specific manner. This call may block for an indefinite period.

#### Parameters

`key` | `GckObject`
| The key to decrypt with.
| The data is owned by the caller of the function.
`mech_type` | `gulong`
| The mechanism type to use for decryption.
`input` | An array of `guchar`
| Data to decrypt.
| 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`
| Length of the data to decrypt.
`n_result` | `gsize*`
| Location to store the length of the result data.
| The argument will be set by 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: | An array of `guchar`
| The data that was decrypted, or `NULL` if an error occured.
| The length of the array is in the `n_result` argument.
| The caller of the method takes ownership of the data, and is responsible for freeing it.