summaryrefslogtreecommitdiffstats
path: root/security/nss/doc/rst/legacy/reference/fc_getinfo/index.rst
diff options
context:
space:
mode:
Diffstat (limited to 'security/nss/doc/rst/legacy/reference/fc_getinfo/index.rst')
-rw-r--r--security/nss/doc/rst/legacy/reference/fc_getinfo/index.rst110
1 files changed, 110 insertions, 0 deletions
diff --git a/security/nss/doc/rst/legacy/reference/fc_getinfo/index.rst b/security/nss/doc/rst/legacy/reference/fc_getinfo/index.rst
new file mode 100644
index 0000000000..1b73f25082
--- /dev/null
+++ b/security/nss/doc/rst/legacy/reference/fc_getinfo/index.rst
@@ -0,0 +1,110 @@
+.. _mozilla_projects_nss_reference_fc_getinfo:
+
+FC_GetInfo
+==========
+
+`Name <#name>`__
+~~~~~~~~~~~~~~~~
+
+.. container::
+
+ FC_GetInfo - return general information about the PKCS #11 library.
+
+`Syntax <#syntax>`__
+~~~~~~~~~~~~~~~~~~~~
+
+.. container::
+
+ .. code::
+
+ CK_RV FC_GetInfo(CK_INFO_PTR pInfo);
+
+`Parameters <#parameters>`__
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+.. container::
+
+ ``FC_GetInfo`` has one parameter:
+
+ ``pInfo``
+ points to a `CK_INFO </en-US/CK_INFO>`__ structure
+
+`Description <#description>`__
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+.. container::
+
+ ``FC_GetInfo`` returns general information about the PKCS #11 library. On return, the ``CK_INFO``
+ structure that ``pInfo`` points to has the following information:
+
+ - ``cryptokiVersion``: PKCS #11 interface version number implemented by the PKCS #11 library.
+ The version is 2.20 (``major=0x02, minor=0x14``).
+ - ``manufacturerID``: the PKCS #11 library manufacturer, "Mozilla Foundation", padded with
+ spaces to 32 characters and not null-terminated.
+ - ``flags``: should be 0.
+ - ``libraryDescription``: description of the library, "NSS Internal Crypto Services", padded
+ with spaces to 32 characters and not null-terminated.
+ - ``libraryVersion``: PKCS #11 library version number, for example, 3.11
+ (``major=0x03, minor=0x0b``).
+
+ A user may call ``FC_GetInfo`` without logging into the token (to assume the NSS User role).
+
+.. _return_value:
+
+`Return value <#return_value>`__
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+.. container::
+
+ ``FC_GetInfo`` always returns ``CKR_OK``.
+
+ .. note::
+
+ ``FC_GetInfo`` should return ``CKR_ARGUMENTS_BAD`` if ``pInfo`` is ``NULL``.
+
+ ``FC_GetInfo`` should return ``CKR_CRYPTOKI_NOT_INITIALIZED`` if the library is not
+ initialized.
+
+`Examples <#examples>`__
+~~~~~~~~~~~~~~~~~~~~~~~~
+
+.. container::
+
+ Note the use of the ``%.32s`` format string to print the ``manufacturerID`` and
+ ``libraryDescription`` members of the ``CK_INFO`` structure.
+
+ .. code::
+
+ #include <assert.h>
+ #include <stdio.h>
+
+ CK_FUNCTION_LIST_PTR pFunctionList;
+ CK_RV crv;
+ CK_INFO info;
+
+ crv = FC_GetFunctionList(&pFunctionList);
+ assert(crv == CKR_OK);
+
+ ...
+
+ /* invoke FC_GetInfo as pFunctionList->C_GetInfo */
+ crv = pFunctionList->C_GetInfo(&info);
+ assert(crv == CKR_OK);
+ printf("General information about the PKCS #11 library:\n");
+ printf(" PKCS #11 version: %d.%d\n",
+ (int)info.cryptokiVersion.major, (int)info.cryptokiVersion.minor);
+ printf(" manufacturer ID: %.32s\n", info.manufacturerID);
+ printf(" flags: 0x%08lx\n", info.flags);
+ printf(" library description: %.32s\n", info.libraryDescription);
+ printf(" library version: %d.%d\n",
+ (int)info.libraryVersion.major, (int)info.libraryVersion.minor);
+ printf("\n");
+
+.. _see_also:
+
+`See also <#see_also>`__
+~~~~~~~~~~~~~~~~~~~~~~~~
+
+.. container::
+
+ - `NSC_GetInfo </en-US/NSC_GetInfo>`__ \ No newline at end of file