canmove, Confirmed users
937
edits
| Line 26: | Line 26: | ||
=== In Error State === | === In Error State === | ||
The boolean | The boolean state variable <code>sftk_fatalError</code> tracks whether the NSS cryptographic module is in the Error state. Most PKCS #11 functions, including all the functions that output data via the data output interface, check the <code>sftk_fatalError</code> state variable and, if it is true, return the <code>CKR_DEVICE_ERROR</code> error code immediately. Only the functions that shut down and restart the module, reinitialize the module, or output status information can be invoked in the Error state. These functions are <code>FC_GetFunctionList</code>, <code>FC_Initialize</code>, <code>FC_Finalize</code>, <code>FC_GetInfo</code>, <code>FC_GetSlotList</code>, <code>FC_GetSlotInfo</code>, <code>FC_GetTokenInfo</code>, <code>FC_InitToken</code>, <code>FC_CloseSession</code>, <code>FC_CloseAllSessions</code>, and <code>FC_WaitForSlotEvent</code>. | ||
=== During Self-Tests === | === During Self-Tests === | ||
The NSS cryptographic module performs power-up self-tests in FC_Initialize | The NSS cryptographic module performs power-up self-tests in the <code>FC_Initialize</code> function. Since no PKCS #11 function (except <code>FC_GetFunctionList</code>) may be called before the NSS cryptographic module is "powered up" (i.e., before <code>FC_Initialize</code> returns successfully), all data output via the data output interface is inhibited while <code>FC_Initialize</code> is performing the self-tests. | ||
== Disconnecting the Output Data Path From the Key Processes == | == Disconnecting the Output Data Path From the Key Processes == | ||
During key generation and key zeroization, the NSS cryptographic module doesn't execute any "printf" or logging statement that outputs sensitive information. Audit logging is performed as requested, but the entry does not contain cryptographically sensitive information. The NSS cryptographic module doesn't return the function output arguments until key generation or key zeroization is finished. Therefore, the logical paths used by output data exiting the module are logically disconnected from the processes/threads performing key generation and key zeroization. | During key generation and key zeroization, the NSS cryptographic module doesn't execute any "printf" or logging statement that outputs sensitive information. Audit logging is performed as requested, but the entry does not contain cryptographically sensitive information. The NSS cryptographic module doesn't return the function output arguments until key generation or key zeroization is finished. Therefore, the logical paths used by output data exiting the module are logically disconnected from the processes/threads performing key generation and key zeroization. | ||