我的任务是找出输入PKCS#11智能卡令牌PIN码的最大尝试次数。我已经知道了here中提到的CK_TOKEN_INFO/TokenInfo中的标志,即CKF_USER_PIN_COUNT_LOW、CKF_USER_PIN_FINAL_TRY、CKF_USER_PIN_LOCKED。但不知何故,我的主管坚持认为智能卡中的某处包含了输入PIN的最大尝试次数的信息。
它真的在那里的某个地方吗?
发布于 2019-09-28 04:15:01
当然:卡中的每个PIN对象都有各自的错误计数器。否则,一旦涉及多个客户端,就不能确保在给定的错误尝试次数之后,PIN真的阻塞。
(PKCS仅仅是一个附加层,用于将通用命令转换为相应卡类型的特殊命令。)
问题是,以标准化方式提取错误计数器的方法很少,甚至没有。这取决于卡的类型及其配置。最好的机会是发送带有错误PIN码数据的VERIFY命令,并查找‘63CN’状态代码,其中n表示剩余的尝试次数。然而,在最坏的情况下,如果有一个或多个剩余的尝试,则卡响应为'63 00‘,如果PIN被阻止,则响应为'69 83’。有关详细信息,请参阅智能卡操作系统手册。
https://stackoverflow.com/questions/58093823
复制相似问题