(mozilla-projects-nss-reference-fc-signfinal)=

# FC_SignFinal

## [Name](#name)

:::{container}
FC_SignFinal - finish a multi-part signing operation.
:::

## [Syntax](#syntax)

:::{container}

```{code}
CK_RV FC_SignFinal(
  CK_SESSION_HANDLE hSession,
  CK_BYTE_PTR pSignature,
  CK_ULONG_PTR pusSignatureLen
);
```

:::

## [Parameters](#parameters)

:::{container}
`hSession`

: [in] session handle.

`pSignature`

: [out] pointer to the buffer which will receive the digest or NULL.

`pusSignatureLen`

: [in, out] pointer to location containing the maximum buffer size.
:::

## [Description](#description)

:::{container}
`FC_SignFinal` finishes a multi-part signing operation by returning the complete signature and
clearing the operation context. If `pSignature` is NULL the length of the signature is returned
and `FC_SignFinal` may be called again with `pSignature` set to retrieve the signature.

A user must log into the token (to assume the NSS User role) before calling `FC_SignFinal`.
:::

## [Return value](#return_value)

## [Examples](#examples)

## [See also](#see_also)

:::{container}

- {ref}`mozilla_projects_nss_reference_fc_signupdate`, [NSC_SignFinal](/en-US/NSC_SignFinal)
:::
