我正在开发一个数字签名解决方案,并希望从包含数字证书的智能卡中检索数据(持卡人的姓名或卡中证书的主题),在用户提供卡的pin之前。我知道有其他解决方案可以做到这一点,但我还没能做到。
我正在使用以下Java api:
- Java pkcs# 11(使用此API,在将卡的内容加载到KeyStore之后,但仅在提供PIN之后,我已经能够获得该信息)和
- smartcardio(使用此API,我已经能够测试终端中卡的存在或不存在)
不知是否有人能给点提示。谢谢。
卡片需要什么来允许访问某些数据取决于称为卡片个性化的阶段,并且完全独立于所使用的API。您应该紧急检查卡片个性化文件的状态。提示:如果您得到"安全状态不满足",0x6982,则该卡似乎不支持您想要的方法。
阅读您的评论后:似乎,您正在读取本地证书存储并且不与卡通信;您只依赖于先前读取并存储证书的某个神奇进程。这是完全不同的问题。