首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sun.security.pkcs11.wrapper.PKCS11Exception: CKR_ATTRIBUTE_TYPE_INVALID

sun.security.pkcs11.wrapper.PKCS11Exception: CKR_ATTRIBUTE_TYPE_INVALID
EN

Stack Overflow用户
提问于 2015-02-06 07:55:50
回答 1查看 2.9K关注 0票数 2

我是SmartCard新手,需要一些帮助。我尝试运行一个测试程序(见下文),但是一直得到这个异常,sun.security.pkcs11.wrapper.PKCS11Exception: CKR_ATTRIBUTE_TYPE_INVALID

我的系统是Windows 7 64-bit,java版本是1.8.0_31

提前感谢您的帮助!

代码语言:javascript
复制
public static void main(String[] args) throws Exception { 
    final StringBuilder buff = new StringBuilder(); 
    buff.append("name=").append("SmartCard").append("\n"); 
    buff.append("library=").append("C:\\Progra~1\\ActivIdentity\\ActivClient\\acpkcs211.dll").append("\n");
    buff.append("showInfo=true").append("\n"); 
    buff.append("slotListIndex=0").append("\n"); 

    final SunPKCS11 provider = new sun.security.pkcs11.SunPKCS11(new ByteArrayInputStream(buff.toString().getBytes())); 
    Security.addProvider(provider);  

    KeyStore.ProtectionParameter pp = new KeyStore.PasswordProtection("######".toCharArray());  
    KeyStore.Builder builder = KeyStore.Builder.newInstance("PKCS11", provider, pp);
    KeyStore ks = builder.getKeyStore(); 
    ks.load(null, null); 
} 

输出:

代码语言:javascript
复制
Exception in thread "main" java.security.KeyStoreException: KeyStore instantiation failed
    at java.security.KeyStore$Builder$2.getKeyStore(Unknown Source)
    at myTests.P11Test.main(P11Test.java:38)
Caused by: java.io.IOException: load failed
    at sun.security.pkcs11.P11KeyStore.engineLoad(P11KeyStore.java:843)
    at java.security.KeyStore.load(Unknown Source)
    at java.security.KeyStore$Builder$2$1.run(Unknown Source)
    at java.security.KeyStore$Builder$2$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    ... 2 more
Caused by: sun.security.pkcs11.wrapper.PKCS11Exception: CKR_ATTRIBUTE_TYPE_INVALID
    at sun.security.pkcs11.wrapper.PKCS11.C_FindObjectsInit(Native Method)
    at sun.security.pkcs11.P11KeyStore.findObjects(P11KeyStore.java:2658)
    at sun.security.pkcs11.P11KeyStore.mapLabels(P11KeyStore.java:2396)
    at sun.security.pkcs11.P11KeyStore.engineLoad(P11KeyStore.java:835)
    ... 6 more
EN

回答 1

Stack Overflow用户

发布于 2015-04-03 00:40:39

我认为CKR_ATTRIBUTE_TYPE_INVALID错误表明传递的某个属性(可能是showInfo或slotListINdex)无效。尝试逐个删除它们,看看它是否修复了错误。

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

https://stackoverflow.com/questions/28356275

复制
相关文章

相似问题

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