PKCS#11:每次会话是否完成C_Login?

时间:2016-10-24 10:12:25

标签: security pkcs#11

我正在使用多线程应用程序中的PKCS#11库。我期望必须为每个C_OpenSession完成C_Login以处理敏感内容。但似乎当一个线程已登录时,对C_Login的所有后续调用都会返回ALREADY_LOGGED错误。 该应用程序是多线程的,如果一个线程提供了PIN,则为其他用户提供服务的所有其他线程都可以访问硬件内容。

这是PKCS#11的设计吗?我可以依赖这种行为还是只是执行不力?

1 个答案:

答案 0 :(得分:4)

根据设计,C_LoginC_Logout函数全局更改所有会话的状态(即使是那些尚未打开的会话)。有关详细信息,请参阅PKCS#11 v2.20 specification的第6.7章。