1.. _mozilla_projects_nss_reference_fc_generatekeypair:
2
3FC_GenerateKeyPair
4==================
5
6`Name <#name>`__
7~~~~~~~~~~~~~~~~
8
9.. container::
10
11   FC_GenerateKeyPair - generate a new public/private key pair
12
13`Syntax <#syntax>`__
14~~~~~~~~~~~~~~~~~~~~
15
16.. container::
17
18   .. code:: eval
19
20      CK_RV FC_GenerateKeyPair(
21        CK_SESSION_HANDLE hSession,
22        CK_MECHANISM_PTR pMechanism,
23        CK_ATTRIBUTE_PTR pPublicKeyTemplate,
24        CK_ULONG usPublicKeyAttributeCount,
25        CK_ATTRIBUTE_PTR pPrivateKeyTemplate,
26        CK_ULONG usPrivateKeyAttributeCount,
27        CK_OBJECT_HANDLE_PTR phPublicKey,
28        CK_OBJECT_HANDLE_PTR phPrivateKey
29      );
30
31`Parameters <#parameters>`__
32~~~~~~~~~~~~~~~~~~~~~~~~~~~~
33
34.. container::
35
36   ``hSession``
37      [in] session handle.
38   ``pMechanism``
39      [in] pointer to the mechanism to use.
40   ``pPublicKeyTemplate``
41      [in] pointer to the public key template.
42   ``usPublicKeyAttributeCount``
43      [in] number of attributes in the public key template.
44   ``pPrivateKeyTemplate``
45      [in] pointer to the private key template.
46   ``usPrivateKeyAttributeCount``
47      [in] number of attributes in the private key template.
48   ``phPublicKey``
49      [out] pointer to the location to receive the handle of the new public key.
50   ``phPrivateKey``
51      [out] pointer to the location to receive the handle of the new private key.
52
53`Description <#description>`__
54~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
55
56.. container::
57
58   ``FC_GenerateKeyPair`` generates a public/private key pair, creating new key objects. The handles
59   of new keys are returned.
60
61   A user must log into the token (to assume the NSS User role) before calling
62   ``FC_GenerateKeyPair``.
63
64.. _return_value:
65
66`Return value <#return_value>`__
67~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
68
69.. container::
70
71`Examples <#examples>`__
72~~~~~~~~~~~~~~~~~~~~~~~~
73
74.. container::
75
76.. _see_also:
77
78`See also <#see_also>`__
79~~~~~~~~~~~~~~~~~~~~~~~~
80
81.. container::
82
83   -  `NSC_GenerateKeyPair </en-US/NSC_GenerateKeyPair>`__