java - 无需 PIN 码即可读取智能卡信息?

标签 java security smartcard

我有一个 Java 应用程序,可以从智能卡读取证书并使用它们登录用户。该应用程序还可以使用其他登录方法(用户名和密码)跟踪失败的登录尝试。

我想知道是否可以在没有 PIN 码的情况下从智能卡读取用户信息?我想将失败的 pin 条目标记为失败的登录尝试,但因为我需要 pin 来从证书中读取别名,所以我无法知道哪个用户正在尝试登录。有没有办法在没有 Java 中的 pin 的情况下读取这些信息?

我尝试根据此线程的建议加载 KeyStore 对象:Getting certificates from PKCS11 Smartcard without PIN/password但没有运气。我什至不知道这是否可能。

我可以在不输入 PIN 的情况下从 ActivClient 代理看到某些信息,但不知道 Java 是否可以以某种方式检索这些信息。这就是我加载 keystore 的方式:

KeyStore keyTest = KeyStore.getInstance("PKCS11",pkcs11Provider);
keyTest.load(null,null);

即使我没有指定回调处理程序,上面仍然要求输入 pin。 pkcs11Provider 是包含 ActivClient dll 的 cfg。通常我使用 pin 回调处理程序加载 keystore 。

最佳答案

经过一番调查,这在很大程度上取决于您使用的卡类型以及您使用的 PKCS11 库。没有一个答案适合所有情况。

关于java - 无需 PIN 码即可读取智能卡信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26871054/

相关文章:

c++ - 使用 'magic numbers' 保卫类(class)

linux - 在每个用户的主目录中创建一个私有(private)文件夹

security - 您在编写自己的密码学方法时使用哪些技术?

applet - 使用 javacard Shareable 类在作为客户端和服务器的两个小程序之间共享具有不同包的接口(interface)?

java - Java中的this指针转义

java - 针对蜂窝调制解调器项目的客户端/服务器交互故障排除的建议和帮助

java - 这是从日期获取 UTC 的 java.sql.Timestamp 的正确方法吗?

java - NoClassDefFoundError : scala/ScalaObject in mixed Scala/Java project

smartcard - 智能卡中的安全盒是什么以及作用是什么?

netbeans - 如何用Netbeans模拟java卡小程序?