### Method

# Gck Session generate_key_pair

#### Declaration [src]

    gboolean
    gck_session_generate_key_pair (
      GckSession* self,
      gulong mech_type,
      GckAttributes* public_attrs,
      GckAttributes* private_attrs,
      GckObject** public_key,
      GckObject** private_key,
      GCancellable* cancellable,
      GError** error
    )

#### Description [src]

Generate a new key pair of public and private keys. This call may block for an indefinite period.

If `public_attrs` and/or `private_attrs` is a floating reference, it is consumed.

#### Parameters

`mech_type` | `gulong`
| The mechanism type to use for key generation.
`public_attrs` | `GckAttributes`
| Additional attributes for the generated public key.
| The data is owned by the caller of the function.
`private_attrs` | `GckAttributes`
| Additional attributes for the generated private key.
| The data is owned by the caller of the function.
`public_key` | `GckObject`
| Location to return the resulting public key.
| The argument will be set by the function.
| The argument can be `NULL`.
| The instance takes ownership of the data, and is responsible for freeing it.
`private_key` | `GckObject`
| Location to return the resulting private key.
| The argument will be set by the function.
| The argument can be `NULL`.
| The instance takes ownership of the data, and is responsible for freeing it.
`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: | `gboolean`
| `TRUE` if the operation succeeded.