java - 在 64 位机器上访问硬件 PKCS11 token

标签 java certificate 32bit-64bit pkcs#11

这就是我想要做的。我有一个带有一些证书的硬件 token ,我正在编写一个 Java 应用程序来尝试访问这些证书。我已经将 jre6 中的 SunPKCS11 库用于 Windows 32 位机器。这是我如何访问证书的一个小示例:

String configName = "pkcs.cnf"
String PIN = "123456";
Provider p = new sun.security.pkcs11.SunPKCS11(configName);
Security.addProvider(p);
KeyStore keyStore = KeyStore.getInstance("PKCS11");
char[] pin = PIN.toCharArray();
keyStore.load(null, pin);

效果很好,我可以获得证书和一切。现在我想在 64 位机器上做同样的事情。但是我正在尝试使用 64 位 jre6 库并且缺少 SunPKCS11 jar 文件 (位于 {java.home}/lib/ext。因此我无法创建 SunPKCS11 对象。我的你的问题是,我现在该怎么办?如何使用 64 位 Java 库访问 token 上的证书?有人为此类任务编写了 64 位包装器吗?

最佳答案

PKCS11 支持未实现,因为无法测试该库(无论如何)。

不过,这在 Java 8 中有所改变。自 J8b49 起,包含一个 64 位版本。 看: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6880559

关于java - 在 64 位机器上访问硬件 PKCS11 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8056818/

相关文章:

java - 使用 SharedPreferences 保存复选框,java

linux - 在 linux 上使用 dotnet core 获取私钥

C 字符串初始化。可能的麻烦

为 32 位或 64 位编译

c - 64位机器上什么时候64位指针只使用低32位?

java - 冒泡排序复杂性的困惑

c# - 如何从同一个 XLIFF 翻译文件生成 .resx 和 .properties 文件

c# - 打开签名 PDF 时出现 "At least one signature has problems” 消息

java - 从 Tomcat WebApp 访问 WebService 时出现 CertPathValidatorException

理想对象的 Java 垃圾收集