首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >访问64位计算机上的硬件PKCS11令牌

访问64位计算机上的硬件PKCS11令牌
EN

Stack Overflow用户
提问于 2011-11-09 04:41:48
回答 2查看 8.4K关注 0票数 8

所以这就是我想要做的。我有一个硬件令牌,上面有一些证书,我正在编写一个Java应用程序来尝试访问这些证书。我在windows 32位机器上使用过jre6中的SunPKCS11库。这是我如何访问证书的一个小示例:

代码语言:javascript
复制
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文件(located in {java.home}/lib/ext。正因为如此,我无法创建SunPKCS11对象。我的问题是,我现在该怎么做?如何使用64位java库访问令牌上的证书?有没有人为这样的任务写了64位的包装器?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-25 20:33:16

没有实现PKCS11支持,因为没有办法测试库(以某种方式,无论如何)。

然而,在Java 8中,这一点发生了变化。从J8b49开始,就包含了64位版本。请参阅:http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6880559

票数 4
EN

Stack Overflow用户

发布于 2011-11-09 12:23:34

假设您的{java.home}指向jre6,则sunpkcs11.jar位于{java.home}/lib/ext;如果您的{java.home}指向jdk1.6,则sunpkcs11.jar位于{java.home}/ jre /lib/ext;我已经针对新安装的jdk和jre对其进行了测试。请验证您的安装。

编辑的(总结评论)

在Java64位版本中,pkcs11不可用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8056818

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档