所以我多次尝试从AWS CloudHSM登录/注销。流程如下:
-
有一个打开的会话(
C_GetSessionInfo
返回槽id 1、状态3、标志6,而一切正常(。 -
如果我已登录此会话,请在此会话中呼叫
C_Logout
。 -
调用
C_Login
,提供正确的凭据。 -
重复。
第一次登录后,第一次注销/登录周期正常,但在第二次注销期间,返回CKR_DEVICE_REMOVED
错误,随后的每次调用都返回CKR_SESSION_HANDLE_INVALID
。
错误后调用C_GetSessionInfo
返回槽id、状态和标志,所有这些都设置为0,并且存在令牌的C_GetSlotList
返回空列表。这种行为(第二次注销时的错误(是完全一致的,每次都会发生。登录时不执行任何操作。
有人知道这个错误的可能原因以及如何避免吗?提前谢谢。
每次执行某些操作时都不需要注销。最好的方法是:您应该重复使用第一次登录时获得的会话句柄id。