Source code

Revision control

Copy as Markdown

Other Tools

(mozilla-projects-nss-reference-fc-derivekey)=
# FC_DeriveKey
## [Name](#name)
:::{container}
FC_DeriveKey - derive a key from a base key
:::
## [Syntax](#syntax)
:::{container}
```{code}
CK_RV FC_DeriveKey(
CK_SESSION_HANDLE hSession,
CK_MECHANISM_PTR pMechanism,
CK_OBJECT_HANDLE hBaseKey,
CK_ATTRIBUTE_PTR pTemplate,
CK_ULONG usAttributeCount,
CK_OBJECT_HANDLE_PTR phKey
);
```
:::
## [Parameters](#parameters)
:::{container}
`hSession`
: [in] session handle.
`pMechanism`
: [in] pointer to the mechanism to use.
`hBaseKey`
: [in] handle of the base key.
`pWrappedKey`
: [in] pointer to the wrapped key.
`pTemplate`
: [in] pointer to the list of attributes for the new key.
`usAttributeCount`
: [in] number of attributes in the template.
`phKey`
: [out] pointer to the location to receive the handle of the new key.
:::
## [Description](#description)
:::{container}
`FC_DeriveKey` derives (decrypts) a key and creates a new key object.
A user must log into the token (to assume the NSS User role) before calling `FC_DeriveKey`.
:::
## [Return value](#return_value)
## [Examples](#examples)
## [See also](#see_also)
:::{container}
- [NSC_DeriveKey](/en-US/NSC_DeriveKey)
:::